Bah. meant FQ clauses can be most any legal query. Erick
On Wed, Mar 5, 2014 at 3:49 PM, Erick Erickson <erickerick...@gmail.com> wrote: > You can just use OR > GQ clauses can be most any legal query. > > On Mar 3, 2014 4:31 PM, "Andreas Owen" <a...@conx.ch> wrote: >> >> ok i like the logic, you can do much more. i think this should do it for >> me: >> >> (-organisations:["" TO *] -roles:["" TO *]) (+organisations:(150 >> 42) +roles:(174 72)) >> >> >> i want to use this in fq and i need to set the operator to OR. My q.op is >> AND but I need OR in fq. I have read about ofq but that is for putting OR >> between multiple fq. Can I set the operator for fq? >> >> The statement should find all docs without organisations and roles or >> those that have at least one roles and organisations entry. these fields are >> multivalued. >> >> -----Original-Nachricht----- >> > Von: "Erick Erickson" <erickerick...@gmail.com> >> > An: solr-user@lucene.apache.org >> > Datum: 19/02/2014 04:09 >> > Betreff: Re: query parameters >> > >> > Solr/Lucene query language is NOT strictly boolean, see >> > Chris's excellent blog here: >> > http://searchhub.org/dev/2011/12/28/why-not-and-or-and-not/ >> > >> > Best, >> > Erick >> > >> > >> > On Tue, Feb 18, 2014 at 11:54 AM, Andreas Owen <a...@conx.ch> wrote: >> > >> > > I tried it in solr admin query and it showed me all the docs without a >> > > value >> > > in ogranisations and roles. It didn't matter if i used a base term, >> > > isn't >> > > that give through the q-parameter? >> > > >> > > -----Original Message----- >> > > From: Raymond Wiker [mailto:rwi...@gmail.com] >> > > Sent: Dienstag, 18. Februar 2014 13:19 >> > > To: solr-user@lucene.apache.org >> > > Subject: Re: query parameters >> > > >> > > That could be because the second condition does not do what you think >> > > it >> > > does... have you tried running the second condition separately? >> > > >> > > You may have to add a "base term" to the second condition, like what >> > > you >> > > have for the "bq" parameter in your config file; i.e, something like >> > > >> > > (*:* -organisations:["" TO *] -roles:["" TO *]) >> > > >> > > >> > > >> > > >> > > On Tue, Feb 18, 2014 at 12:16 PM, Andreas Owen <a...@conx.ch> wrote: >> > > >> > > > It seams that fq doesn't except OR because: (organisations:(150 OR >> > > > 41) >> > > > AND >> > > > roles:(174)) OR (-organisations:["" TO *] AND -roles:["" TO *]) >> > > > only >> > > > returns docs that match the first conditions. it doesn't return any >> > > > docs with the empty fields organisations and roles. >> > > > >> > > > -----Original Message----- >> > > > From: Andreas Owen [mailto:a...@conx.ch] >> > > > Sent: Montag, 17. Februar 2014 05:08 >> > > > To: solr-user@lucene.apache.org >> > > > Subject: query parameters >> > > > >> > > > >> > > > in solrconfig of my solr 4.3 i have a userdefined requestHandler. i >> > > > would like to use fq to force the following conditions: >> > > > 1: organisations is empty and roles is empty >> > > > 2: organisations contains one of the commadelimited list in >> > > > variable $org >> > > > 3: roles contains one of the commadelimited list in variable $r >> > > > 4: rule 2 and 3 >> > > > >> > > > snipet of what i got (havent checked out if the is a "in" operator >> > > > like in sql for the list value) >> > > > >> > > > <lst name="defaults"> >> > > > <str name="echoParams">explicit</str> >> > > > <int name="rows">10</int> >> > > > <str name="defType">edismax</str> >> > > > <str name="synonyms">true</str> >> > > > <str name="qf">plain_text^10 editorschoice^200 >> > > > title^20 h_*^14 >> > > > tags^10 thema^15 inhaltstyp^6 breadcrumb^6 >> > > > doctype^10 >> > > > contentmanager^5 links^5 >> > > > last_modified^5 url^5 >> > > > </str> >> > > > <str name="fq">(organisations='' roles='') or >> > > > (organisations=$org roles=$r) or (organisations='' roles=$r) or >> > > > (organisations=$org roles='')</str> >> > > > <str name="bq">(expiration:[NOW TO *] OR (*:* >> > > > -expiration:*))^6</str> <!-- tested: now or newer or empty gets >> > > > small >> > > > boost --> >> > > > <str name="bf">div(clicks,max(displays,1))^8</str> <!-- >> > > > tested >> > > > --> >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > >> > > >> >> >> >