lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <>
Subject Re: BooleanQuery
Date Tue, 01 Nov 2005 11:11:46 GMT
On 1 Nov 2005, at 01:43, tcorbet wrote:
> I have an index over the titles to .mp3 songs.
> It is not unreasonable for the user to want to
> see the results from:  "Show me Everything".
> I understand that title:* is not a valid wildcard query.
> I understand that title:[a* TO z*] is a valid wildcard query.

That last one is NOT a valid wildcard query.  RangeQuery does not  
also do wildcards.

> What I cannot understand is this behavior which
> throws no exceptions:
> title:[a* TO z*] returns 0 hits.

This is literally searching for "a*" through "z*", with the asterisk  
being literal, not a wildcard.

> title [a* TO m*] OR [n* TO z*] returns *almost* the
> correct answer -- one title [of approximately 1200] is missing.

Is that your exact query?  Maybe you're finding "title"?

> title:[a* TO m*] OR [m* TO z*] correctly returns
> all the available titles.

Maybe this has to do with your default field, if that is your exact  
query.  [m* TO z*] is going to the default field for QueryParser, not  
the title field.

> There is obviously something *interesting* about the
> behavior of the Search engine that I have failed to
> grasp.  I would appreciate any instruction.

To get a range from a* TO z* you don't need a wildcard character at  
all.... title:[a TO z] is close, but it would miss zebra, etc.  You'd  
need to leave the end of the range open.   You could use title:[a TO  
zzzzzzzz] or something like that.  But again, RangeQuery does not  
deal with wildcard characters at all, and treats them literally.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message