The XMLQueryParser in the contrib section also handles Spans (as well as a few other Lucene queries/filters not represented by the standard QueryParser).
Here's an example of a complex query from the JUnit test .... <?xml version="1.0" encoding="UTF-8"?> <SpanOr fieldName="contents"> <SpanNear slop="8" inOrder="false" > <SpanOr> <SpanTerm>killed</SpanTerm> <SpanTerm>died</SpanTerm> <SpanTerm>dead</SpanTerm> </SpanOr> <SpanOr> <!-- a less verbose way of declaring ORed SpanTerms--> <SpanOrTerms>miner miners</SpanOrTerms> <SpanNear slop="6" inOrder="false"> <SpanTerm>mine</SpanTerm> <SpanOrTerms>worker workers</SpanOrTerms> </SpanNear> </SpanOr> </SpanNear> <SpanFirst end="10"> <SpanOrTerms>fire burn</SpanOrTerms> </SpanFirst> </SpanOr> --- Erik Hatcher <[EMAIL PROTECTED]> wrote: > > On Apr 6, 2006, at 8:47 AM, Michael Dodson wrote: > > Can phrase queries be nested the same way boolean > queries can be > > nested? > > Yes... using SpanNearQuery instead of PhraseQuery. > > > I want a user query to be translated into a > boolean query (say, x > > AND (y OR z)), and I want those terms to be > within a certain > > distance of each other (approximately within the > same sentence, so > > the slop would be about 7). I then want to find > documents where > > that phrase is within a certain distance of > another term (in this > > case an image name). So in pseudo code I would > have something like > > > > PhraseQuery query1 > > Set slop to 7 > > > > PhraseQuery query2 > > Set slop to 50 > > > > Add boolean terms to query1 > > Add query1 and imageName to query2 > > > > Search > > > > I think I could break down my initial boolean > query and turn query1 > > into two phrase queries which are OR'ed together > (so have query1a > > with "x AND y" with slop 7, and query1b with "x > AND z" and slop 7, > > both added to a BooleanQuery) but I still need to > combine that > > query with the image name in query2. > > QueryParser itself does not support the SpanQuery > family, but the > surround query parser (see contrib/surround in the > codebase) does > using an alternate syntax. So depending on your > needs, you may need > to create some sort of parser to allow humans to > enter such queries. > > Erik > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]