java-user@lucene.apache.org
[Top] [All Lists]

Re: SpanQuery problem

Subject: Re: SpanQuery problem
From: Mark Miller
Date: Sun, 14 Sep 2008 21:14:54 -0400
This doesn't really make sense - you define a document with the same field multiple times, then say you want to search documents, you but you seem to want the results to be fields from that document you defined? Do you want a search that returns documents or fields?

darren@xxxxxxxxxxxx wrote:
Thanks Paul. I will study your response more, as I don't fully understand it yet - 
specifically "You'll need to expand the prefix into indexed terms".

But what I want to do is so simple I'm surprised it cannot be done.
You are saying that I cannot find all fields across all documents that begin 
with a string or space bounded word? Consider 1 document with:

word: blue car
word: red car
word: car door
word: car wheel

Using whitespace analyzer I simply want to query all fields in all documents
where 'car' is the at the very front of the field.

word: car door
word: car wheel

This cannot be done? I don't want to retrieve all of them and prune the results 
myself because it will consume lots of resources.

thanks so much!

Darren
On Sun Sep 14 16:36 , Paul Elschot  sent:Op Sunday 14 September 2008 19:36:38 
schreef Darren Govoni:
Hi,
  I am seeing odd behavior with SpanNearQuery.

The problem is that with multiple fields, all fields beyond the first
one 'car' are not seen by the span. I didn't think the span meant to
sets of the same field, but rather to terms within a given field.

Document 1. 1 field (word)

word: car
word: cars
word: cars wash
word: cars lot


SpanNearyQuery with slop of 0. Wrapped by SpanFirstQuery with slop of
1. Term query within is "word","cars*". No results found.

There is no SpanPrefixQuery for cars* in Lucene. You'll need to
expand the prefix into indexed terms to create a SpanOrQuery
yourself. This is fairly straightforward from PrefixQuery and
SpanOrQuery.
Alternatively, have a look at the surround query parser in contrib
for a working example.

Regards,
Paul Elschot

If I remove the first field word: car, it works. Also, if I increase
the slop, it will return results from only the first amount of fields
in the slop rather than terms within the field value.

Is what I am seeing the correct behavior? Doesn't seem like it.

What I am trying to do is span _within_ EACH field and match phrases
that begin with "cars*". Shouldn't be too hard to do I thought.

Darren


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@xxxxxxxxxxxxxxxxx
For additional commands, e-mail: java-user-help@xxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>