For what it's worth, I had the same question last year, and I never really got a good solution: http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201212.mbox/%3C81 e9a7879c550b42a767f0b86b2b81591a15b...@ex4.corp.w3data.com%3E
I dug into the highlight component for a while, but it turned out I couldn't use that approach. I'm afraid I don't recall exactly why. The debugQuery method had a *huge* performance cost, so that was a non-starter. I managed to solve a subset of my problem by writing a custom QueryComponent that (re)examines the documents being returned and annotates the response. This worked because I was able to reduced my problem space to just determining whether a document was a string-literal match with the query vs via synonyms or other fuzzy expansion. It still required that I had stored and was returning the fields I wanted to (re)examine, so it was hardly ideal on several fronts. If you can, I'd suggest just doing two queries. On 8/6/13 7:38 AM, "Jack Krupansky" <j...@basetechnology.com> wrote: >Add the debugQuery=true parameter and the "explain"section will detail >exactly what terms matched for each document. > >You could also use the Solr term sectors component to get info on what >terms >occur where in a document, but that adds more overhead to the index for >"stored term vectors". > >-- Jack Krupansky > >-----Original Message----- >From: Mysurf Mail >Sent: Tuesday, August 06, 2013 5:59 AM >To: solr-user@lucene.apache.org >Subject: Re: Knowing what field caused the retrival of the document > >But what if this for multiple words ? >I am guessing solr knows why the document is there since I get to see the >paragraph in the highlight.(hl) section. > > >On Tue, Aug 6, 2013 at 11:36 AM, Raymond Wiker <rwi...@gmail.com> wrote: > >> If you were searching for single words (terms), you could use the 'tf' >> function, by adding something like >> >> matchesinname:tf(name, "whatever") >> >> to the 'fl' parameter - if the 'name' field contains "whatever", the >> (result) field 'matchesinname' will be 1. >> >> >> >> >> On Tue, Aug 6, 2013 at 10:24 AM, Mysurf Mail <stammail...@gmail.com> >> wrote: >> >> > I have two indexed fields in my document.- Name, Comment. >> > The user searches for a phrase and I need to act differently if it >> appeared >> > in the comment or the name. >> > Is there a way to know why the document was retrieved? >> > Thanks. >> > >> >