Agreed, you need to show the debug query info from your original query:

My syntax is something like this:
>> >>> >> http://localhost:8983/solr/sales/select?indent=on&wt=json&;
>> >>> >> fl=*,score&q=name:tv
>> >>> >> promotion

and could probably help you get the results you want


On Thu, Jun 8, 2017 at 10:54 AM, Erick Erickson <erickerick...@gmail.com>
wrote:

> bq: I hope that clears the confusion.
>
> Nope, doesn't clear it up at all. It's not clear which query you're
> talking about.... at least to me.
>
> If you're searching for
> name:tv AND name:promotion
>
> and getting back a document that has only "tv" in the name field
> that's simply wrong and you need to find out why.
>
> If you're saying that searching for
> name:tv OR name:promotion
>
> returns both and that docs with both terms score higher, that's likely
> true although it'll be fuzzy. I'm guessing that the name field is
> fairly short so the length norm will be the sam and this will be
> fairly reliable. If the field could have a widely varying number of
> terms it's less reliable.
>
> Best,
> Erick
>
> On Thu, Jun 8, 2017 at 1:41 AM, OTH <omer.t....@gmail.com> wrote:
> > Hi - Sorry it was very late at night for me and I think I didn't pick my
> > wordings right.
> > bq: it is indeed returning documents with only either one of the two
> query
> > terms
> > What I meant was:  Initially, I thought it was only returning documents
> > which contained both 'tv' and 'promotion'.  Then I realized I was
> mistaken;
> > it was also returning documents which contained either 'tv' or
> 'promotion'
> > (as well as documents which contained both, which were scored higher).
> > I hope that clears the confusion.
> > Thanks
> >
> > On Thu, Jun 8, 2017 at 9:04 AM, Erick Erickson <erickerick...@gmail.com>
> > wrote:
> >
> >> bq: it is indeed returning documents with only either one of the two
> query
> >> terms
> >>
> >> Uhm, this should not be true. What's the output of adding debug=query?
> >> And are you totally sure the above is true and you're just not seeing
> >> the other term in the return? Or that you have a synonyms file that is
> >> somehow making docs match? Or ???
> >>
> >> So you're saying you get the exact same number of hits for
> >> name:tv OR name:promotion
> >> and
> >> name:tv AND name:promotion
> >> ??? Definitely not expected unless all docs happen to have both these
> >> terms in the name field either through normal input or synonyms etc.
> >>
> >> You should need something like:
> >> name:tv OR name:promotion OR (name:tv AND name:promotion)^100
> >> to score all the docs with both terms in the name field higher than just
> >> one.
> >>
> >> Best,
> >> Erick
> >>
> >> On Wed, Jun 7, 2017 at 3:05 PM, OTH <omer.t....@gmail.com> wrote:
> >> > I'm sorry, there was a mistake.
> >> >
> >> > I previously wrote:
> >> >
> >> > However, these are returning only those documents which have both the
> >> terms
> >> >> 'tv promotion' in them (there are a few).  It's not returning any
> >> >> document which have only 'tv' or only 'promotion' in them.
> >> >
> >> >
> >> > That's not true at all; it is indeed returning documents with only
> either
> >> > one of the two query terms (so, documents with only 'tv' or only
> >> > 'promotion' in them).  Sorry.  You can disregard my question in the
> last
> >> > email.
> >> >
> >> > Thanks
> >> >
> >> > On Thu, Jun 8, 2017 at 2:03 AM, OTH <omer.t....@gmail.com> wrote:
> >> >
> >> >> Thanks.
> >> >> Both of these are working in my case:
> >> >> name:"tv promotion"   -->  name:"tv promotion"
> >> >> name:tv AND name:promotion --> name:tv AND name:promotion
> >> >> (Although I'm assuming, the first might not have worked if my
> document
> >> had
> >> >> been say 'promotion tv' or 'tv xyz promotion')
> >> >>
> >> >> However, these are returning only those documents which have both the
> >> >> terms 'tv promotion' in them (there are a few).  It's not returning
> any
> >> >> document which have only 'tv' or only 'promotion' in them.
> >> >>
> >> >> That's not an absolute requirement of mine, I could work around it,
> but
> >> I
> >> >> was just wondering, if it were possible to pass a single solr query
> with
> >> >> both the terms 'tv' and 'promotion' in them, and have them return all
> >> the
> >> >> documents which contain either of those terms, but with higher scores
> >> >> attached to those documents with both those terms?
> >> >>
> >> >> Much thanks
> >> >>
> >> >> On Thu, Jun 8, 2017 at 1:43 AM, David Hastings <
> >> >> hastings.recurs...@gmail.com> wrote:
> >> >>
> >> >>> sorry, i meant debug query where you would get output like this:
> >> >>>
> >> >>> "debug": {
> >> >>>     "rawquerystring": "name:tv promotion",
> >> >>>     "querystring": "name:tv promotion",
> >> >>>     "parsedquery": "+name:tv +text:promotion",
> >> >>>
> >> >>>
> >> >>> On Wed, Jun 7, 2017 at 4:41 PM, David Hastings <
> >> >>> hastings.recurs...@gmail.com
> >> >>> > wrote:
> >> >>>
> >> >>> > well, short answer, use the analyzer to see whats happening.
> >> >>> > long answer
> >> >>> >  theres a difference between
> >> >>> > name:tv promotion   -->  name:tv default_field:promotion
> >> >>> > name:"tv promotion"   -->  name:"tv promotion"
> >> >>> > name:tv AND name:promotion --> name:tv AND name:promotion
> >> >>> >
> >> >>> >
> >> >>> > since your default field most likely isnt name, its going to
> search
> >> only
> >> >>> > the default field for it.  you can alter this behavior using qf
> >> >>> parameters:
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > qf='name^5 text'
> >> >>> >
> >> >>> >
> >> >>> > for example would apply a boost of 5 if it matched the field
> 'name',
> >> and
> >> >>> > only 1 for 'text'
> >> >>> >
> >> >>> > On Wed, Jun 7, 2017 at 4:35 PM, OTH <omer.t....@gmail.com> wrote:
> >> >>> >
> >> >>> >> Hello,
> >> >>> >>
> >> >>> >> I have what I would think to be a fairly simple problem to solve,
> >> >>> however
> >> >>> >> I'm not sure how it's done in Solr and couldn't find an answer on
> >> >>> Google.
> >> >>> >>
> >> >>> >> Say I have two documents, "TV" and "TV promotion".  If the search
> >> >>> query is
> >> >>> >> "TV promotion", then, obviously, I would like the document "TV
> >> >>> promotion"
> >> >>> >> to score higher.  However, that is not the case right now.
> >> >>> >>
> >> >>> >> My syntax is something like this:
> >> >>> >> http://localhost:8983/solr/sales/select?indent=on&wt=json&;
> >> >>> >> fl=*,score&q=name:tv
> >> >>> >> promotion
> >> >>> >> (I tried "q=name:tv+promotion (added the '+'), but it made no
> >> >>> difference.)
> >> >>> >>
> >> >>> >> It's not scoring the document "TV promotion" higher than "TV"; in
> >> fact
> >> >>> >> it's
> >> >>> >> scoring it lower.
> >> >>> >>
> >> >>> >> Thanks
> >> >>> >>
> >> >>> >
> >> >>> >
> >> >>>
> >> >>
> >> >>
> >>
>

Reply via email to