Many thanks Yonik!

Upayavira

On Thu, Apr 11, 2013, at 09:32 PM, Yonik Seeley wrote:
> On Wed, Apr 10, 2013 at 7:33 AM, Upayavira <[email protected]> wrote:
> > On Wed, Apr 10, 2013, at 12:22 PM, Upayavira wrote:
> >> I'm sure the best way for me to solve this issue myself is to ask it
> >> publicly, so...
> >>
> >> If I have two {!join} queries that select a collection of documents
> >> each, how do I create a filter query that combines their results?
> >>
> >> If I do fq={!join....} {!join...} it only considers the first.
> >>
> >> From what I understand, the Lucene query parser should combine these two
> >> with an implicit OR, no?
> >
> > Yup. My theory worked, I did solve it myself.
> >
> > If I instead do fq=_query_:"{!join...}" _query_:"{!join...}" it works
> > fine, but the shortened syntax above, which I believe is supposed to
> > work, doesn't. This is using Solr 4.0.
> 
> Support was first added in 4.1 for this.
> 
> If a query starts with {!join... then that will use the join query
> parser (which will consider *everything* after part of the "from"
> query.).  If you want "lucene" syntax with two embedded join queries,
> then just make sure that the query string does not start with {!
> 
> for example:
> fq= {!join from=f1 to=f2 v='f3:term1'} {!join from=f3 to=f4 v='f4:term2'}
> 
> (notice the space before the {! that prevents invoking a different
> query parser and thus invokes the default lucene syntax)
> 
> -Yonik
> http://lucidworks.com

Reply via email to