lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Wartes <>
Subject Re: Knowing what field caused the retrival of the document
Date Tue, 06 Aug 2013 16:27:53 GMT

For what it's worth, I had the same question last year, and I never really
got a good solution:

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

View raw message