lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Miller (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1087) MultiSearcher.explain returns incorrect score/explanation relating to docFreq
Date Fri, 21 Aug 2009 14:04:14 GMT

    [ https://issues.apache.org/jira/browse/LUCENE-1087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745983#action_12745983
] 

Mark Miller commented on LUCENE-1087:
-------------------------------------

bq. as it is, it looks like explain on MultiSearcher is going to get left out in the cold
- MultiSearcher works with Searchables, but Searchable#explain is deprecated with the replacement
on Searcher. Thats trouble for MultiSearcher#explain.

Looks like I left it out in the cold ! This was a mistake when reverting from QueryWeight
to Weight - I missed removing this deprecation.

fixed and committed r806561

> MultiSearcher.explain returns incorrect score/explanation relating to docFreq
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-1087
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1087
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Query/Scoring
>    Affects Versions: 2.2
>         Environment: No special hardware required to reproduce the issue.
>            Reporter: Yasoja Seneviratne
>            Assignee: Mark Miller
>            Priority: Minor
>             Fix For: 2.9
>
>
> Creating 2 different indexes, searching  each individually and print score details and
compare to searching both indexes with MulitSearcher and printing score details.  
>  
> The "docFreq" value printed isn't correct - the values it prints are as if each index
was searched individually.
> Code is like:
> {code}
> MultiSearcher multi = new MultiSearcher(searchables);
> Hits hits = multi.search(query);
> for(int i=0; i<hits.length(); i++)
> {
>   Explanation expl = multi.explain(query, hits.id(i));
>   System.out.println(expl.toString());
> }
> {code}
> I raised this in the Lucene user mailing list and was advised to log a bug, email thread
given below.
> {noformat} 
> -----Original Message-----
> From: Chris Hostetter  
> Sent: Friday, December 07, 2007 10:30 PM
> To: java-user
> Subject: Re: does the MultiSearcher class calculate IDF properly?
> a quick glance at the code seems to indicate that MultiSearcher has code 
> for calcuating the docFreq accross all of the Searchables when searching 
> (or when the docFreq method is explicitly called) but that explain method 
> just delegates to Searchable that the specific docid came from.
> if you compare that Explanation score you got with the score returned by 
> a HitCollector (or TopDocs) they probably won't match.
> So i would say "yes MultiSearcher calculates IDF properly, but 
> MultiSeracher.explain is broken.  Please file a bug about this, i can't 
> think of an easy way to fix it, but it certianly seems broken to me.
> : Subject: does the MultiSearcher class calculate IDF properly?
> : 
> : I tried the following.  Creating 2 different indexes, search each
> : individually and print score details and compare to searching both
> : indexes with MulitSearcher and printing score details.  
> : 
> : The "docFreq" value printed don't seem right - is this just a problem
> : with using Explain together with the MultiSearcher?
> : 
> : 
> : Code is like:
> : MultiSearcher multi = new MultiSearcher(searchables);
> : Hits hits = multi.search(query);
> : for(int i=0; i<hits.length(); i++)
> : {
> :   Explanation expl = multi.explain(query, hits.id(i));
> :   System.out.println(expl.toString());
> : }
> : 
> : 
> : Output:
> : id = 14 score = 0.071
> : 0.07073946 = (MATCH) fieldWeight(contents:climate in 2), product of:
> :   1.0 = tf(termFreq(contents:climate)=1)
> :   1.8109303 = idf(docFreq=1)
> :   0.0390625 = fieldNorm(field=contents, doc=2)
> {noformat} 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message