I think the semantics of positions across fields isn't well defined, which is why SpanQuery requires a single field. The workaround is to add a 4th field that is a combo of 1, 2 and 3. Alternatively, since you are doing an OrQuery, just process the Spans from each SpanTermQuery separately, i.e.:

SpanTermQuery field1 = new SpanTermQuery(new Term("field1", "hello"));

Spans f1Spans = field1.getSpans();
//do something

SpanTermQuery field2 = new SpanTermQuery(new Term("field2", "hello"));

Spans f2Spans = field2.getSpans();
//do something

SpanTermQuery field3 = new SpanTermQuery(new Term("field3", "hello"));

same as above.

I suppose there is some waste in this approach, since you may end up iterating over the same doc again.

-Grant


On Sep 18, 2007, at 1:22 PM, gsanctus wrote:


Hello,
I have an index with tree fields (field1, field2,field3).
I have to do an or-query and get term positions within a document.
So I'm using span query but I have a problem because
with spans I can't write
...
SpanTermQuery field1 = new SpanTermQuery(new Term("field1", "hello"));
SpanTermQuery field2 = new SpanTermQuery(new Term("field2", "hello"));
SpanTermQuery field3 = new SpanTermQuery(new Term("field3", "hello"));
SpanOrQuery or = new SpanOrQuery(new SpanQuery[] {field1, field2,field3}); With this code I get an error because SpanOrQuery Clauses must have same
field.

My question is:
Is defined a field positions iterator on Spans or other structure ???

Can you help me???

Thanks
--
View this message in context: http://www.nabble.com/Span-Query-on- different-fields-tf4475788.html#a12761926
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------
Grant Ingersoll
http://lucene.grantingersoll.com

Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to