lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <erickerick...@gmail.com>
Subject Re: Re[2]: query parameters
Date Wed, 05 Mar 2014 20:49:58 GMT
You can just use OR
GQ clauses can be most any legal query.
On Mar 3, 2014 4:31 PM, "Andreas Owen" <ao@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" <erickerickson@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 <ao@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:rwiker@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 <ao@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:ao@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
> > > > -->
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message