You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/06 18:13:32 UTC

svn commit: r1179684 - in /lucene/dev/branches/branch_3x: ./ lucene/ lucene/CHANGES.txt lucene/backwards/src/test/ lucene/src/java/org/apache/lucene/search/FilteredQuery.java solr/

Author: rmuir
Date: Thu Oct  6 16:13:31 2011
New Revision: 1179684

URL: http://svn.apache.org/viewvc?rev=1179684&view=rev
Log:
LUCENE-3494: Optimize FilteredQuery to remove a multiply in score()

Modified:
    lucene/dev/branches/branch_3x/   (props changed)
    lucene/dev/branches/branch_3x/lucene/   (props changed)
    lucene/dev/branches/branch_3x/lucene/CHANGES.txt
    lucene/dev/branches/branch_3x/lucene/backwards/src/test/   (props changed)
    lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/FilteredQuery.java
    lucene/dev/branches/branch_3x/solr/   (props changed)

Modified: lucene/dev/branches/branch_3x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/CHANGES.txt?rev=1179684&r1=1179683&r2=1179684&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_3x/lucene/CHANGES.txt Thu Oct  6 16:13:31 2011
@@ -74,6 +74,9 @@ Optimizations
 * LUCENE-3426: Add NGramPhraseQuery which extends PhraseQuery and tries to 
   reduce the number of terms of the query when rewrite(), in order to improve 
   performance.  (Robert Muir, Koji Sekiguchi)
+  
+* LUCENE-3494: Optimize FilteredQuery to remove a multiply in score()
+  (Uwe Schindler, Robert Muir)
 
 Test Cases
 

Modified: lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/FilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/FilteredQuery.java?rev=1179684&r1=1179683&r2=1179684&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/FilteredQuery.java (original)
+++ lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/search/FilteredQuery.java Thu Oct  6 16:13:31 2011
@@ -71,24 +71,18 @@ extends Query {
       
       @Override
       public float sumOfSquaredWeights() throws IOException { 
-        return weight.sumOfSquaredWeights() * getBoost() * getBoost(); 
+        return weight.sumOfSquaredWeights() * getBoost() * getBoost(); // boost sub-weight
       }
 
       @Override
       public void normalize (float v) { 
-        weight.normalize(v);
-        value = weight.getValue() * getBoost();
+        weight.normalize(v * getBoost()); // incorporate boost
+        value = weight.getValue();
       }
 
       @Override
       public Explanation explain (IndexReader ir, int i) throws IOException {
         Explanation inner = weight.explain (ir, i);
-        if (getBoost()!=1) {
-          Explanation preBoost = inner;
-          inner = new Explanation(inner.getValue()*getBoost(),"product of:");
-          inner.addDetail(new Explanation(getBoost(),"boost"));
-          inner.addDetail(preBoost);
-        }
         Filter f = FilteredQuery.this.filter;
         DocIdSet docIdSet = f.getDocIdSet(ir);
         DocIdSetIterator docIdSetIterator = docIdSet == null ? DocIdSet.EMPTY_DOCIDSET.iterator() : docIdSet.iterator();
@@ -161,7 +155,7 @@ extends Query {
           }
 
           @Override
-          public float score() throws IOException { return getBoost() * scorer.score(); }
+          public float score() throws IOException { return scorer.score(); }
         };
       }
     };