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 > > --> > > > > > > > > > > > > > >