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