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 2012/01/25 15:25:18 UTC
svn commit: r1235758 - in
/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search:
CollectionStatistics.java TermStatistics.java
similarities/BM25Similarity.java similarities/SimilarityBase.java
Author: rmuir
Date: Wed Jan 25 14:25:18 2012
New Revision: 1235758
URL: http://svn.apache.org/viewvc?rev=1235758&view=rev
Log:
LUCENE-3723: beef up stats bounds assertion checks
Modified:
lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java
lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermStatistics.java
lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java?rev=1235758&r1=1235757&r2=1235758&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CollectionStatistics.java Wed Jan 25 14:25:18 2012
@@ -32,6 +32,10 @@ public class CollectionStatistics {
private final long sumDocFreq;
public CollectionStatistics(String field, int maxDoc, int docCount, long sumTotalTermFreq, long sumDocFreq) {
+ assert maxDoc >= 0;
+ assert docCount >= -1 && docCount <= maxDoc; // #docs with field must be <= #docs
+ assert sumDocFreq >= -1;
+ assert sumTotalTermFreq == -1 || sumTotalTermFreq >= sumDocFreq; // #positions must be >= #postings
this.field = field;
this.maxDoc = maxDoc;
this.docCount = docCount;
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermStatistics.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermStatistics.java?rev=1235758&r1=1235757&r2=1235758&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermStatistics.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/TermStatistics.java Wed Jan 25 14:25:18 2012
@@ -29,6 +29,8 @@ public class TermStatistics {
private final long totalTermFreq;
public TermStatistics(BytesRef term, int docFreq, long totalTermFreq) {
+ assert docFreq >= 0;
+ assert totalTermFreq == -1 || totalTermFreq >= docFreq; // #positions must be >= #postings
this.term = term;
this.docFreq = docFreq;
this.totalTermFreq = totalTermFreq;
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java?rev=1235758&r1=1235757&r2=1235758&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/BM25Similarity.java Wed Jan 25 14:25:18 2012
@@ -154,7 +154,6 @@ public class BM25Similarity extends Simi
@Override
public final Stats computeStats(CollectionStatistics collectionStats, float queryBoost, TermStatistics... termStats) {
- assert collectionStats.sumTotalTermFreq() >= -1;
Explanation idf = termStats.length == 1 ? idfExplain(collectionStats, termStats[0]) : idfExplain(collectionStats, termStats);
float avgdl = avgFieldLength(collectionStats);
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java?rev=1235758&r1=1235757&r2=1235758&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/similarities/SimilarityBase.java Wed Jan 25 14:25:18 2012
@@ -87,9 +87,7 @@ public abstract class SimilarityBase ext
/** Fills all member fields defined in {@code BasicStats} in {@code stats}.
* Subclasses can override this method to fill additional stats. */
protected void fillBasicStats(BasicStats stats, CollectionStatistics collectionStats, TermStatistics termStats) {
- assert termStats.totalTermFreq() >= -1;
- assert termStats.totalTermFreq() == -1 || termStats.totalTermFreq() >= termStats.docFreq();
- assert collectionStats.sumTotalTermFreq() >= -1;
+ // #positions(field) must be >= #positions(term)
assert collectionStats.sumTotalTermFreq() == -1 || collectionStats.sumTotalTermFreq() >= termStats.totalTermFreq();
int numberOfDocuments = collectionStats.maxDoc();