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(); }
};
}
};