lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <dar...@ontrenet.com>
Subject Re: SpanQuery problem
Date Mon, 15 Sep 2008 01:04:59 GMT
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@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message