Return-Path:
Delivered-To: apmail-lucene-java-commits-archive@www.apache.org
Received: (qmail 32381 invoked from network); 29 Oct 2009 21:30:34 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3)
by minotaur.apache.org with SMTP; 29 Oct 2009 21:30:34 -0000
Received: (qmail 42496 invoked by uid 500); 29 Oct 2009 21:30:34 -0000
Delivered-To: apmail-lucene-java-commits-archive@lucene.apache.org
Received: (qmail 42439 invoked by uid 500); 29 Oct 2009 21:30:34 -0000
Mailing-List: contact java-commits-help@lucene.apache.org; run by ezmlm
Precedence: bulk
List-Help:
List-Unsubscribe:
List-Post:
List-Id:
Reply-To: java-dev@lucene.apache.org
Delivered-To: mailing list java-commits@lucene.apache.org
Received: (qmail 42430 invoked by uid 99); 29 Oct 2009 21:30:34 -0000
Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136)
by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Oct 2009 21:30:34 +0000
X-ASF-Spam-Status: No, hits=-2.5 required=5.0
tests=AWL,BAYES_00
X-Spam-Check-By: apache.org
Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4)
by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Oct 2009 21:30:27 +0000
Received: by eris.apache.org (Postfix, from userid 65534)
id DDCCD23889C5; Thu, 29 Oct 2009 21:30:06 +0000 (UTC)
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r831094 [5/8] - in /lucene/java/branches/flex_1458: ./
contrib/
contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/
contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/
contrib/analyzers/common/src/java/org/apache/l...
Date: Thu, 29 Oct 2009 21:29:56 -0000
To: java-commits@lucene.apache.org
From: markrmiller@apache.org
X-Mailer: svnmailer-1.0.8
Message-Id: <20091029213006.DDCCD23889C5@eris.apache.org>
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHash.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHash.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHash.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHash.java Thu Oct 29 21:29:47 2009
@@ -68,6 +68,7 @@
postingsFreeChunk = (int) (DocumentsWriter.BYTE_BLOCK_SIZE / bytesPerPosting);
}
+ @Override
InvertedDocConsumerPerThread addThread(DocInverterPerThread docInverterPerThread) {
return new TermsHashPerThread(docInverterPerThread, this, nextTermsHash, null);
}
@@ -76,11 +77,13 @@
return new TermsHashPerThread(docInverterPerThread, this, nextTermsHash, primaryPerThread);
}
+ @Override
void setFieldInfos(FieldInfos fieldInfos) {
this.fieldInfos = fieldInfos;
consumer.setFieldInfos(fieldInfos);
}
+ @Override
synchronized public void abort() {
consumer.abort();
if (nextTermsHash != null)
@@ -99,12 +102,14 @@
}
}
+ @Override
synchronized void closeDocStore(SegmentWriteState state) throws IOException {
consumer.closeDocStore(state);
if (nextTermsHash != null)
nextTermsHash.closeDocStore(state);
}
+ @Override
synchronized void flush(Map> threadsAndFields, final SegmentWriteState state) throws IOException {
Map childThreadsAndFields = new HashMap();
Map nextThreadsAndFields;
@@ -152,6 +157,7 @@
nextTermsHash.flush(nextThreadsAndFields, state);
}
+ @Override
synchronized public boolean freeRAM() {
if (!trackAllocations)
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerField.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerField.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerField.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerField.java Thu Oct 29 21:29:47 2009
@@ -100,6 +100,7 @@
nextPerField.reset();
}
+ @Override
synchronized public void abort() {
reset();
if (nextPerField != null)
@@ -248,6 +249,7 @@
private boolean doCall;
private boolean doNextCall;
+ @Override
void start(Fieldable f) {
termAtt = fieldState.attributeSource.addAttribute(TermAttribute.class);
consumer.start(f);
@@ -256,6 +258,7 @@
}
}
+ @Override
boolean start(Fieldable[] fields, int count) throws IOException {
doCall = consumer.start(fields, count);
if (nextPerField != null)
@@ -339,6 +342,7 @@
}
// Primary entry point (for first TermsHash)
+ @Override
void add() throws IOException {
assert !postingsCompacted;
@@ -507,6 +511,7 @@
writeByte(stream, (byte) i);
}
+ @Override
void finish() throws IOException {
consumer.finish();
if (nextPerField != null)
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerThread.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerThread.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerThread.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHashPerThread.java Thu Oct 29 21:29:47 2009
@@ -58,10 +58,12 @@
nextPerThread = null;
}
+ @Override
InvertedDocConsumerPerField addField(DocInverterPerField docInverterPerField, final FieldInfo fieldInfo) {
return new TermsHashPerField(docInverterPerField, this, nextPerThread, fieldInfo);
}
+ @Override
synchronized public void abort() {
reset(true);
consumer.abort();
@@ -83,12 +85,14 @@
return true;
}
+ @Override
public void startDocument() throws IOException {
consumer.startDocument();
if (nextPerThread != null)
nextPerThread.consumer.startDocument();
}
+ @Override
public DocumentsWriter.DocWriter finishDocument() throws IOException {
final DocumentsWriter.DocWriter doc = consumer.finishDocument();
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/messages/MessageImpl.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/messages/MessageImpl.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/messages/MessageImpl.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/messages/MessageImpl.java Thu Oct 29 21:29:47 2009
@@ -57,6 +57,7 @@
return NLS.getLocalizedMessage(getKey(), locale, getArguments());
}
+ @Override
public String toString() {
Object[] args = getArguments();
String argsString = "";
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanClause.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanClause.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanClause.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanClause.java Thu Oct 29 21:29:47 2009
@@ -24,7 +24,7 @@
public static enum Occur {
/** Use this operator for clauses that must appear in the matching documents. */
- MUST { public String toString() { return "+"; } },
+ MUST { @Override public String toString() { return "+"; } },
/** Use this operator for clauses that should appear in the
* matching documents. For a BooleanQuery with no MUST
@@ -32,12 +32,12 @@
* for the BooleanQuery to match.
* @see BooleanQuery#setMinimumNumberShouldMatch
*/
- SHOULD { public String toString() { return ""; } },
+ SHOULD { @Override public String toString() { return ""; } },
/** Use this operator for clauses that must not appear in the matching documents.
* Note that it is not possible to search for queries that only consist
* of a MUST_NOT
clause. */
- MUST_NOT { public String toString() { return "-"; } };
+ MUST_NOT { @Override public String toString() { return "-"; } };
}
@@ -84,6 +84,7 @@
/** Returns true if o
is equal to this. */
+ @Override
public boolean equals(Object o) {
if (o == null || !(o instanceof BooleanClause))
return false;
@@ -93,11 +94,13 @@
}
/** Returns a hash code value for this object.*/
+ @Override
public int hashCode() {
return query.hashCode() ^ (Occur.MUST == occur?1:0) ^ (Occur.MUST_NOT == occur?2:0);
}
+ @Override
public String toString() {
return occur.toString() + query.toString();
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanQuery.java Thu Oct 29 21:29:47 2009
@@ -40,6 +40,7 @@
*/
public static class TooManyClauses extends RuntimeException {
public TooManyClauses() {}
+ @Override
public String getMessage() {
return "maxClauseCount is set to " + maxClauseCount;
}
@@ -89,10 +90,12 @@
// Implement coord disabling.
// Inherit javadoc.
+ @Override
public Similarity getSimilarity(Searcher searcher) {
Similarity result = super.getSimilarity(searcher);
if (disableCoord) { // disable coord as requested
result = new SimilarityDelegator(result) {
+ @Override
public float coord(int overlap, int maxOverlap) {
return 1.0f;
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer.java Thu Oct 29 21:29:47 2009
@@ -66,6 +66,8 @@
this.mask = mask;
this.bucketTable = bucketTable;
}
+
+ @Override
public final void collect(final int doc) throws IOException {
final BucketTable table = bucketTable;
final int i = doc & BucketTable.MASK;
@@ -88,14 +90,17 @@
}
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) {
// not needed by this implementation
}
+ @Override
public void setScorer(Scorer scorer) throws IOException {
this.scorer = scorer;
}
+ @Override
public boolean acceptsDocsOutOfOrder() {
return true;
}
@@ -113,14 +118,16 @@
public BucketScorer() { super(null); }
+ @Override
public int advance(int target) throws IOException { return NO_MORE_DOCS; }
+ @Override
public int docID() { return doc; }
- public Explanation explain(int doc) throws IOException { return null; }
-
+ @Override
public int nextDoc() throws IOException { return NO_MORE_DOCS; }
+ @Override
public float score() throws IOException { return score; }
}
@@ -213,6 +220,7 @@
}
// firstDocID is ignored since nextDoc() initializes 'current'
+ @Override
protected boolean score(Collector collector, int max, int firstDocID) throws IOException {
boolean more;
Bucket tmp;
@@ -268,18 +276,17 @@
return false;
}
+ @Override
public int advance(int target) throws IOException {
throw new UnsupportedOperationException();
}
+ @Override
public int docID() {
return doc;
}
- public Explanation explain(int doc) {
- throw new UnsupportedOperationException();
- }
-
+ @Override
public int nextDoc() throws IOException {
boolean more;
do {
@@ -313,14 +320,17 @@
return doc = NO_MORE_DOCS;
}
+ @Override
public float score() {
return current.score * coordFactors[current.coord];
}
+ @Override
public void score(Collector collector) throws IOException {
score(collector, Integer.MAX_VALUE, nextDoc());
}
+ @Override
public String toString() {
StringBuilder buffer = new StringBuilder();
buffer.append("boolean(");
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer2.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer2.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer2.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer2.java Thu Oct 29 21:29:47 2009
@@ -113,6 +113,8 @@
super(scorer.getSimilarity());
this.scorer = scorer;
}
+
+ @Override
public float score() throws IOException {
int doc = docID();
if (doc >= lastScoredDoc) {
@@ -124,18 +126,21 @@
}
return lastDocScore;
}
+
+ @Override
public int docID() {
return scorer.docID();
}
+
+ @Override
public int nextDoc() throws IOException {
return scorer.nextDoc();
}
+
+ @Override
public int advance(int target) throws IOException {
return scorer.advance(target);
}
- public Explanation explain(int docNr) throws IOException {
- return scorer.explain(docNr);
- }
}
private Scorer countingDisjunctionSumScorer(final List scorers,
@@ -146,7 +151,7 @@
// Save the score of lastScoredDoc, so that we don't compute it more than
// once in score().
private float lastDocScore = Float.NaN;
- public float score() throws IOException {
+ @Override public float score() throws IOException {
int doc = docID();
if (doc >= lastScoredDoc) {
if (doc > lastScoredDoc) {
@@ -170,7 +175,7 @@
// Save the score of lastScoredDoc, so that we don't compute it more than
// once in score().
private float lastDocScore = Float.NaN;
- public float score() throws IOException {
+ @Override public float score() throws IOException {
int doc = docID();
if (doc >= lastScoredDoc) {
if (doc > lastScoredDoc) {
@@ -262,8 +267,8 @@
/** Scores and collects all matching documents.
* @param collector The collector to which all matching documents are passed through.
- *
When this method is used the {@link #explain(int)} method should not be used.
*/
+ @Override
public void score(Collector collector) throws IOException {
collector.setScorer(this);
while ((doc = countingSumScorer.nextDoc()) != NO_MORE_DOCS) {
@@ -271,6 +276,7 @@
}
}
+ @Override
protected boolean score(Collector collector, int max, int firstDocID) throws IOException {
doc = firstDocID;
collector.setScorer(this);
@@ -281,14 +287,17 @@
return doc != NO_MORE_DOCS;
}
+ @Override
public int docID() {
return doc;
}
+ @Override
public int nextDoc() throws IOException {
return doc = countingSumScorer.nextDoc();
}
+ @Override
public float score() throws IOException {
coordinator.nrMatchers = 0;
float sum = countingSumScorer.score();
@@ -296,22 +305,10 @@
return sum * coordinator.coordFactors[coordinator.nrMatchers];
}
+ @Override
public int advance(int target) throws IOException {
return doc = countingSumScorer.advance(target);
}
-
- /** Throws an UnsupportedOperationException.
- * TODO: Implement an explanation of the coordination factor.
- * @param doc The document number for the explanation.
- * @throws UnsupportedOperationException
- */
- public Explanation explain(int doc) {
- throw new UnsupportedOperationException();
- /* How to explain the coordination factor?
- initCountingSumScorer();
- return countingSumScorer.explain(doc); // misses coord factor.
- */
- }
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingSpanFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingSpanFilter.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingSpanFilter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingSpanFilter.java Thu Oct 29 21:29:47 2009
@@ -42,6 +42,7 @@
this.filter = filter;
}
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
SpanFilterResult result = getCachedResult(reader);
return result != null ? result.getDocIdSet() : null;
@@ -64,19 +65,23 @@
}
+ @Override
public SpanFilterResult bitSpans(IndexReader reader) throws IOException {
return getCachedResult(reader);
}
+ @Override
public String toString() {
return "CachingSpanFilter("+filter+")";
}
+ @Override
public boolean equals(Object o) {
if (!(o instanceof CachingSpanFilter)) return false;
return this.filter.equals(((CachingSpanFilter)o).filter);
}
+ @Override
public int hashCode() {
return filter.hashCode() ^ 0x1117BF25;
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java Thu Oct 29 21:29:47 2009
@@ -61,6 +61,7 @@
}
}
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
if (cache == null) {
cache = new WeakHashMap();
@@ -86,15 +87,18 @@
return docIdSet;
}
+ @Override
public String toString() {
return "CachingWrapperFilter("+filter+")";
}
+ @Override
public boolean equals(Object o) {
if (!(o instanceof CachingWrapperFilter)) return false;
return this.filter.equals(((CachingWrapperFilter)o).filter);
}
+ @Override
public int hashCode() {
return filter.hashCode() ^ 0x1117BF25;
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ComplexExplanation.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ComplexExplanation.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ComplexExplanation.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ComplexExplanation.java Thu Oct 29 21:29:47 2009
@@ -52,11 +52,13 @@
*
* @see #getMatch
*/
+ @Override
public boolean isMatch() {
Boolean m = getMatch();
return (null != m ? m.booleanValue() : super.isMatch());
}
+ @Override
protected String getSummary() {
if (null == getMatch())
return super.getSummary();
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConjunctionScorer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConjunctionScorer.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConjunctionScorer.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConjunctionScorer.java Thu Oct 29 21:29:47 2009
@@ -100,6 +100,7 @@
return doc;
}
+ @Override
public int advance(int target) throws IOException {
if (lastDoc == NO_MORE_DOCS) {
return lastDoc;
@@ -109,14 +110,12 @@
return lastDoc = doNext();
}
+ @Override
public int docID() {
return lastDoc;
}
- public Explanation explain(int doc) {
- throw new UnsupportedOperationException();
- }
-
+ @Override
public int nextDoc() throws IOException {
if (lastDoc == NO_MORE_DOCS) {
return lastDoc;
@@ -127,6 +126,7 @@
return lastDoc = doNext();
}
+ @Override
public float score() throws IOException {
float sum = 0.0f;
for (int i = 0; i < scorers.length; i++) {
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConstantScoreQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConstantScoreQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConstantScoreQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConstantScoreQuery.java Thu Oct 29 21:29:47 2009
@@ -39,10 +39,12 @@
return filter;
}
+ @Override
public Query rewrite(IndexReader reader) throws IOException {
return this;
}
+ @Override
public void extractTerms(Set terms) {
// OK to not add any terms when used for MultiSearcher,
// but may not be OK for highlighting
@@ -57,28 +59,34 @@
this.similarity = getSimilarity(searcher);
}
+ @Override
public Query getQuery() {
return ConstantScoreQuery.this;
}
+ @Override
public float getValue() {
return queryWeight;
}
+ @Override
public float sumOfSquaredWeights() throws IOException {
queryWeight = getBoost();
return queryWeight * queryWeight;
}
+ @Override
public void normalize(float norm) {
this.queryNorm = norm;
queryWeight *= this.queryNorm;
}
+ @Override
public Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer) throws IOException {
return new ConstantScorer(similarity, reader, this);
}
+ @Override
public Explanation explain(IndexReader reader, int doc) throws IOException {
ConstantScorer cs = new ConstantScorer(similarity, reader, this);
@@ -124,38 +132,41 @@
}
}
+ @Override
public int nextDoc() throws IOException {
return docIdSetIterator.nextDoc();
}
+ @Override
public int docID() {
return docIdSetIterator.docID();
}
+ @Override
public float score() throws IOException {
return theScore;
}
+ @Override
public int advance(int target) throws IOException {
return docIdSetIterator.advance(target);
}
-
- public Explanation explain(int doc) throws IOException {
- throw new UnsupportedOperationException();
- }
}
+ @Override
public Weight createWeight(Searcher searcher) {
return new ConstantScoreQuery.ConstantWeight(searcher);
}
/** Prints a user-readable version of this query. */
+ @Override
public String toString(String field) {
return "ConstantScore(" + filter.toString()
+ (getBoost()==1.0 ? ")" : "^" + getBoost());
}
/** Returns true if o
is equal to this. */
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ConstantScoreQuery)) return false;
@@ -164,6 +175,7 @@
}
/** Returns a hash code value for this object. */
+ @Override
public int hashCode() {
// Simple add is OK since no existing filter hashcode has a float component.
return filter.hashCode() + Float.floatToIntBits(getBoost());
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DefaultSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DefaultSimilarity.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DefaultSimilarity.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DefaultSimilarity.java Thu Oct 29 21:29:47 2009
@@ -31,6 +31,7 @@
*
* WARNING: This API is new and experimental, and may suddenly
* change.
*/
+ @Override
public float computeNorm(String field, FieldInvertState state) {
final int numTerms;
if (discountOverlaps)
@@ -41,31 +42,37 @@
}
/** Implemented as 1/sqrt(numTerms)
. */
+ @Override
public float lengthNorm(String fieldName, int numTerms) {
return (float)(1.0 / Math.sqrt(numTerms));
}
/** Implemented as 1/sqrt(sumOfSquaredWeights)
. */
+ @Override
public float queryNorm(float sumOfSquaredWeights) {
return (float)(1.0 / Math.sqrt(sumOfSquaredWeights));
}
/** Implemented as sqrt(freq)
. */
+ @Override
public float tf(float freq) {
return (float)Math.sqrt(freq);
}
/** Implemented as 1 / (distance + 1)
. */
+ @Override
public float sloppyFreq(int distance) {
return 1.0f / (distance + 1);
}
/** Implemented as log(numDocs/(docFreq+1)) + 1
. */
+ @Override
public float idf(int docFreq, int numDocs) {
return (float)(Math.log(numDocs/(double)(docFreq+1)) + 1.0);
}
/** Implemented as overlap / maxOverlap
. */
+ @Override
public float coord(int overlap, int maxOverlap) {
return overlap / (float)maxOverlap;
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java Thu Oct 29 21:29:47 2009
@@ -62,6 +62,7 @@
heapify();
}
+ @Override
public int nextDoc() throws IOException {
if (numScorers == 0) return doc = NO_MORE_DOCS;
while (subScorers[0].docID() == doc) {
@@ -78,6 +79,7 @@
return doc = subScorers[0].docID();
}
+ @Override
public int docID() {
return doc;
}
@@ -85,6 +87,7 @@
/** Determine the current document score. Initially invalid, until {@link #next()} is called the first time.
* @return the score of the current generated document
*/
+ @Override
public float score() throws IOException {
int doc = subScorers[0].docID();
float[] sum = { subScorers[0].score() }, max = { sum[0] };
@@ -105,6 +108,7 @@
}
}
+ @Override
public int advance(int target) throws IOException {
if (numScorers == 0) return doc = NO_MORE_DOCS;
while (subScorers[0].docID() < target) {
@@ -120,14 +124,6 @@
return doc = subScorers[0].docID();
}
- /** Explain a score that we computed. UNSUPPORTED -- see explanation capability in DisjunctionMaxQuery.
- * @param doc the number of a document we scored
- * @return the Explanation for our score
- */
- public Explanation explain(int doc) throws IOException {
- throw new UnsupportedOperationException();
- }
-
// Organize subScorers into a min heap with scorers generating the earliest document on top.
private void heapify() {
for (int i = (numScorers >> 1) - 1; i >= 0; i--) {
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionSumScorer.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionSumScorer.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionSumScorer.java Thu Oct 29 21:29:47 2009
@@ -109,7 +109,6 @@
/** Scores and collects all matching documents.
* @param collector The collector to which all matching documents are passed through.
- *
When this method is used the {@link #explain(int)} method should not be used.
*/
public void score(Collector collector) throws IOException {
collector.setScorer(this);
@@ -207,8 +206,6 @@
/**
* Advances to the first match beyond the current whose document number is
* greater than or equal to a given target.
- * When this method is used the {@link #explain(int)} method should not be
- * used.
* The implementation uses the skipTo() method on the subscorers.
*
* @param target
@@ -216,6 +213,7 @@
* @return the document whose number is greater than or equal to the given
* target, or -1 if none exist.
*/
+ @Override
public int advance(int target) throws IOException {
if (scorerDocQueue.size() < minimumNrMatchers) {
return currentDoc = NO_MORE_DOCS;
@@ -233,31 +231,4 @@
}
} while (true);
}
-
- /** @return An explanation for the score of a given document. */
- public Explanation explain(int doc) throws IOException {
- Explanation res = new Explanation();
- Iterator ssi = subScorers.iterator();
- float sumScore = 0.0f;
- int nrMatches = 0;
- while (ssi.hasNext()) {
- Explanation es = ((Scorer) ssi.next()).explain(doc);
- if (es.getValue() > 0.0f) { // indicates match
- sumScore += es.getValue();
- nrMatches++;
- }
- res.addDetail(es);
- }
- if (nrMatchers >= minimumNrMatchers) {
- res.setValue(sumScore);
- res.setDescription("sum over at least " + minimumNrMatchers
- + " of " + subScorers.size() + ":");
- } else {
- res.setValue(0.0f);
- res.setDescription(nrMatches + " match(es) but at least "
- + minimumNrMatchers + " of "
- + subScorers.size() + " needed");
- }
- return res;
- }
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DocIdSet.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DocIdSet.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DocIdSet.java Thu Oct 29 21:29:47 2009
@@ -29,8 +29,11 @@
public static final DocIdSet EMPTY_DOCIDSET = new DocIdSet() {
private final DocIdSetIterator iterator = new DocIdSetIterator() {
+ @Override
public int advance(int target) throws IOException { return NO_MORE_DOCS; }
+ @Override
public int docID() { return NO_MORE_DOCS; }
+ @Override
public int nextDoc() throws IOException { return NO_MORE_DOCS; }
};
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ExactPhraseScorer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ExactPhraseScorer.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ExactPhraseScorer.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ExactPhraseScorer.java Thu Oct 29 21:29:47 2009
@@ -27,6 +27,7 @@
super(weight, docs, offsets, similarity, norms);
}
+ @Override
protected final float phraseFreq() throws IOException {
// sort list with pq
pq.clear();
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Explanation.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Explanation.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Explanation.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Explanation.java Thu Oct 29 21:29:47 2009
@@ -82,6 +82,7 @@
}
/** Render an explanation as text. */
+ @Override
public String toString() {
return toString(0);
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java Thu Oct 29 21:29:47 2009
@@ -160,6 +160,7 @@
protected Object readResolve() {
return DEFAULT_BYTE_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_BYTE_PARSER";
}
@@ -178,6 +179,7 @@
protected Object readResolve() {
return DEFAULT_SHORT_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_SHORT_PARSER";
}
@@ -196,6 +198,7 @@
protected Object readResolve() {
return DEFAULT_INT_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_INT_PARSER";
}
@@ -211,6 +214,7 @@
protected Object readResolve() {
return DEFAULT_FLOAT_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_FLOAT_PARSER";
}
@@ -224,6 +228,7 @@
protected Object readResolve() {
return DEFAULT_LONG_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_LONG_PARSER";
}
@@ -239,6 +244,7 @@
protected Object readResolve() {
return DEFAULT_DOUBLE_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".DEFAULT_DOUBLE_PARSER";
}
@@ -258,6 +264,7 @@
protected Object readResolve() {
return NUMERIC_UTILS_INT_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".NUMERIC_UTILS_INT_PARSER";
}
@@ -277,6 +284,7 @@
protected Object readResolve() {
return NUMERIC_UTILS_FLOAT_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".NUMERIC_UTILS_FLOAT_PARSER";
}
@@ -296,6 +304,7 @@
protected Object readResolve() {
return NUMERIC_UTILS_LONG_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".NUMERIC_UTILS_LONG_PARSER";
}
@@ -315,6 +324,7 @@
protected Object readResolve() {
return NUMERIC_UTILS_DOUBLE_PARSER;
}
+ @Override
public String toString() {
return FieldCache.class.getName()+".NUMERIC_UTILS_DOUBLE_PARSER";
}
@@ -548,6 +558,7 @@
}
+ @Override
public String toString() {
StringBuilder b = new StringBuilder();
b.append("'").append(getReaderKey()).append("'=>");
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java Thu Oct 29 21:29:47 2009
@@ -111,10 +111,15 @@
// }
}
+ @Override
public Object getReaderKey() { return readerKey; }
+ @Override
public String getFieldName() { return fieldName; }
+ @Override
public Class> getCacheType() { return cacheType; }
+ @Override
public Object getCustom() { return custom; }
+ @Override
public Object getValue() { return value; }
}
@@ -216,6 +221,7 @@
}
/** Two of these are equal iff they reference the same field and type. */
+ @Override
public boolean equals (Object o) {
if (o instanceof Entry) {
Entry other = (Entry) o;
@@ -231,6 +237,7 @@
}
/** Composes a hashcode based on the field and type. */
+ @Override
public int hashCode() {
return field.hashCode() ^ (custom==null ? 0 : custom.hashCode());
}
@@ -251,6 +258,7 @@
ByteCache(FieldCache wrapper) {
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
Entry entry = entryKey;
@@ -303,6 +311,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
Entry entry = entryKey;
@@ -355,6 +364,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
Entry entry = entryKey;
@@ -425,6 +435,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
Entry entry = entryKey;
@@ -492,6 +503,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entry)
throws IOException {
String field = entry.field;
@@ -558,6 +570,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
Entry entry = entryKey;
@@ -616,6 +629,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
String field = StringHelper.intern(entryKey.field);
@@ -656,6 +670,7 @@
super(wrapper);
}
+ @Override
protected Object createValue(IndexReader reader, Entry entryKey)
throws IOException {
String field = StringHelper.intern(entryKey.field);
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheRangeFilter.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheRangeFilter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheRangeFilter.java Thu Oct 29 21:29:47 2009
@@ -70,6 +70,7 @@
}
/** This method is implemented for each data type */
+ @Override
public abstract DocIdSet getDocIdSet(IndexReader reader) throws IOException;
/**
@@ -79,6 +80,7 @@
*/
public static FieldCacheRangeFilter newStringRange(String field, String lowerVal, String upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, null, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final FieldCache.StringIndex fcsi = FieldCache.DEFAULT.getStringIndex(reader, field);
final int lowerPoint = fcsi.binarySearchLookup(lowerVal);
@@ -120,6 +122,7 @@
// for this DocIdSet, we can ignore deleted docs
// because deleted docs have an order of 0 (null entry in StringIndex)
return new FieldCacheDocIdSet(reader, true) {
+ @Override
final boolean matchDoc(int doc) {
return fcsi.order[doc] >= inclusiveLowerPoint && fcsi.order[doc] <= inclusiveUpperPoint;
}
@@ -144,6 +147,7 @@
*/
public static FieldCacheRangeFilter newByteRange(String field, FieldCache.ByteParser parser, Byte lowerVal, Byte upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final byte inclusiveLowerPoint, inclusiveUpperPoint;
if (lowerVal != null) {
@@ -169,6 +173,7 @@
final byte[] values = FieldCache.DEFAULT.getBytes(reader, field, (FieldCache.ByteParser) parser);
// we only respect deleted docs if the range contains 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0 && inclusiveUpperPoint >= 0)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -193,6 +198,7 @@
*/
public static FieldCacheRangeFilter newShortRange(String field, FieldCache.ShortParser parser, Short lowerVal, Short upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final short inclusiveLowerPoint, inclusiveUpperPoint;
if (lowerVal != null) {
@@ -218,6 +224,7 @@
final short[] values = FieldCache.DEFAULT.getShorts(reader, field, (FieldCache.ShortParser) parser);
// ignore deleted docs if range doesn't contain 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0 && inclusiveUpperPoint >= 0)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -242,6 +249,7 @@
*/
public static FieldCacheRangeFilter newIntRange(String field, FieldCache.IntParser parser, Integer lowerVal, Integer upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final int inclusiveLowerPoint, inclusiveUpperPoint;
if (lowerVal != null) {
@@ -267,6 +275,7 @@
final int[] values = FieldCache.DEFAULT.getInts(reader, field, (FieldCache.IntParser) parser);
// ignore deleted docs if range doesn't contain 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0 && inclusiveUpperPoint >= 0)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -291,6 +300,7 @@
*/
public static FieldCacheRangeFilter newLongRange(String field, FieldCache.LongParser parser, Long lowerVal, Long upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final long inclusiveLowerPoint, inclusiveUpperPoint;
if (lowerVal != null) {
@@ -316,6 +326,7 @@
final long[] values = FieldCache.DEFAULT.getLongs(reader, field, (FieldCache.LongParser) parser);
// ignore deleted docs if range doesn't contain 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0L && inclusiveUpperPoint >= 0L)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -340,6 +351,7 @@
*/
public static FieldCacheRangeFilter newFloatRange(String field, FieldCache.FloatParser parser, Float lowerVal, Float upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
// we transform the floating point numbers to sortable integers
// using NumericUtils to easier find the next bigger/lower value
@@ -369,6 +381,7 @@
final float[] values = FieldCache.DEFAULT.getFloats(reader, field, (FieldCache.FloatParser) parser);
// ignore deleted docs if range doesn't contain 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0.0f && inclusiveUpperPoint >= 0.0f)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -393,6 +406,7 @@
*/
public static FieldCacheRangeFilter newDoubleRange(String field, FieldCache.DoubleParser parser, Double lowerVal, Double upperVal, boolean includeLower, boolean includeUpper) {
return new FieldCacheRangeFilter(field, parser, lowerVal, upperVal, includeLower, includeUpper) {
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
// we transform the floating point numbers to sortable integers
// using NumericUtils to easier find the next bigger/lower value
@@ -422,6 +436,7 @@
final double[] values = FieldCache.DEFAULT.getDoubles(reader, field, (FieldCache.DoubleParser) parser);
// ignore deleted docs if range doesn't contain 0
return new FieldCacheDocIdSet(reader, !(inclusiveLowerPoint <= 0.0 && inclusiveUpperPoint >= 0.0)) {
+ @Override
boolean matchDoc(int doc) {
return values[doc] >= inclusiveLowerPoint && values[doc] <= inclusiveUpperPoint;
}
@@ -430,6 +445,7 @@
};
}
+ @Override
public final String toString() {
final StringBuilder sb = new StringBuilder(field).append(":");
return sb.append(includeLower ? '[' : '{')
@@ -440,6 +456,7 @@
.toString();
}
+ @Override
public final boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof FieldCacheRangeFilter)) return false;
@@ -455,6 +472,7 @@
return true;
}
+ @Override
public final int hashCode() {
int h = field.hashCode();
h ^= (lowerVal != null) ? lowerVal.hashCode() : 550356204;
@@ -526,11 +544,12 @@
// incrementing a variable & checking skipDocs -
return new DocIdSetIterator() {
private int doc = -1;
-
+ @Override
public int docID() {
return doc;
}
-
+
+ @Override
public int nextDoc() {
try {
do {
@@ -542,7 +561,8 @@
return doc = NO_MORE_DOCS;
}
}
-
+
+ @Override
public int advance(int target) {
try {
doc = target;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java Thu Oct 29 21:29:47 2009
@@ -106,6 +106,7 @@
return FieldCache.DEFAULT;
}
+ @Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
return new FieldCacheTermsFilterDocIdSet(getFieldCache().getStringIndex(reader, field));
}
@@ -138,10 +139,12 @@
protected class FieldCacheTermsFilterDocIdSetIterator extends DocIdSetIterator {
private int doc = -1;
+ @Override
public int docID() {
return doc;
}
+ @Override
public int nextDoc() {
try {
while (!openBitSet.fastGet(fcsi.order[++doc])) {}
@@ -151,6 +154,7 @@
return doc;
}
+ @Override
public int advance(int target) {
try {
doc = target;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldComparator.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldComparator.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldComparator.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldComparator.java Thu Oct 29 21:29:47 2009
@@ -178,26 +178,32 @@
this.parser = (ByteParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
return values[slot1] - values[slot2];
}
+ @Override
public int compareBottom(int doc) {
return bottom - currentReaderValues[doc];
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getBytes(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Byte.valueOf(values[slot]);
}
@@ -213,20 +219,24 @@
docIDs = new int[numHits];
}
+ @Override
public int compare(int slot1, int slot2) {
// No overflow risk because docIDs are non-negative
return docIDs[slot1] - docIDs[slot2];
}
+ @Override
public int compareBottom(int doc) {
// No overflow risk because docIDs are non-negative
return bottom - (docBase + doc);
}
+ @Override
public void copy(int slot, int doc) {
docIDs[slot] = docBase + doc;
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) {
// TODO: can we "map" our docIDs to the current
// reader? saves having to then subtract on every
@@ -234,10 +244,12 @@
this.docBase = docBase;
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = docIDs[bottom];
}
+ @Override
public Comparable value(int slot) {
return Integer.valueOf(docIDs[slot]);
}
@@ -258,6 +270,7 @@
this.parser = (DoubleParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
final double v1 = values[slot1];
final double v2 = values[slot2];
@@ -270,6 +283,7 @@
}
}
+ @Override
public int compareBottom(int doc) {
final double v2 = currentReaderValues[doc];
if (bottom > v2) {
@@ -281,18 +295,22 @@
}
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getDoubles(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Double.valueOf(values[slot]);
}
@@ -313,6 +331,7 @@
this.parser = (FloatParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
// TODO: are there sneaky non-branch ways to compute
// sign of float?
@@ -327,6 +346,7 @@
}
}
+ @Override
public int compareBottom(int doc) {
// TODO: are there sneaky non-branch ways to compute
// sign of float?
@@ -340,18 +360,22 @@
}
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getFloats(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Float.valueOf(values[slot]);
}
@@ -372,6 +396,7 @@
this.parser = (IntParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
// TODO: there are sneaky non-branch ways to compute
// -1/+1/0 sign
@@ -388,6 +413,7 @@
}
}
+ @Override
public int compareBottom(int doc) {
// TODO: there are sneaky non-branch ways to compute
// -1/+1/0 sign
@@ -403,18 +429,22 @@
}
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getInts(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Integer.valueOf(values[slot]);
}
@@ -435,6 +465,7 @@
this.parser = (LongParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
// TODO: there are sneaky non-branch ways to compute
// -1/+1/0 sign
@@ -449,6 +480,7 @@
}
}
+ @Override
public int compareBottom(int doc) {
// TODO: there are sneaky non-branch ways to compute
// -1/+1/0 sign
@@ -462,18 +494,22 @@
}
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getLongs(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Long.valueOf(values[slot]);
}
@@ -494,34 +530,41 @@
scores = new float[numHits];
}
+ @Override
public int compare(int slot1, int slot2) {
final float score1 = scores[slot1];
final float score2 = scores[slot2];
return score1 > score2 ? -1 : (score1 < score2 ? 1 : 0);
}
+ @Override
public int compareBottom(int doc) throws IOException {
float score = scorer.score();
return bottom > score ? -1 : (bottom < score ? 1 : 0);
}
+ @Override
public void copy(int slot, int doc) throws IOException {
scores[slot] = scorer.score();
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) {
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = scores[bottom];
}
+ @Override
public void setScorer(Scorer scorer) {
// wrap with a ScoreCachingWrappingScorer so that successive calls to
// score() will not incur score computation over and over again.
this.scorer = new ScoreCachingWrappingScorer(scorer);
}
+ @Override
public Comparable value(int slot) {
return Float.valueOf(scores[slot]);
}
@@ -542,26 +585,32 @@
this.parser = (ShortParser) parser;
}
+ @Override
public int compare(int slot1, int slot2) {
return values[slot1] - values[slot2];
}
+ @Override
public int compareBottom(int doc) {
return bottom - currentReaderValues[doc];
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getShorts(reader, field, parser);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return Short.valueOf(values[slot]);
}
@@ -583,6 +632,7 @@
collator = Collator.getInstance(locale);
}
+ @Override
public int compare(int slot1, int slot2) {
final String val1 = values[slot1];
final String val2 = values[slot2];
@@ -597,6 +647,7 @@
return collator.compare(val1, val2);
}
+ @Override
public int compareBottom(int doc) {
final String val2 = currentReaderValues[doc];
if (bottom == null) {
@@ -610,18 +661,22 @@
return collator.compare(bottom, val2);
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getStrings(reader, field);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return values[slot];
}
@@ -662,6 +717,7 @@
this.field = field;
}
+ @Override
public int compare(int slot1, int slot2) {
if (readerGen[slot1] == readerGen[slot2]) {
int cmp = ords[slot1] - ords[slot2];
@@ -683,6 +739,7 @@
return val1.compareTo(val2);
}
+ @Override
public int compareBottom(int doc) {
assert bottomSlot != -1;
int order = this.order[doc];
@@ -734,6 +791,7 @@
ords[slot] = index;
}
+ @Override
public void copy(int slot, int doc) {
final int ord = order[doc];
ords[slot] = ord;
@@ -742,6 +800,7 @@
readerGen[slot] = currentReaderGen;
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
StringIndex currentReaderValues = FieldCache.DEFAULT.getStringIndex(reader, field);
currentReaderGen++;
@@ -754,6 +813,7 @@
}
}
+ @Override
public void setBottom(final int bottom) {
bottomSlot = bottom;
if (readerGen[bottom] != currentReaderGen) {
@@ -765,6 +825,7 @@
bottomValue = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return values[slot];
}
@@ -798,6 +859,7 @@
this.field = field;
}
+ @Override
public int compare(int slot1, int slot2) {
final String val1 = values[slot1];
final String val2 = values[slot2];
@@ -813,6 +875,7 @@
return val1.compareTo(val2);
}
+ @Override
public int compareBottom(int doc) {
final String val2 = currentReaderValues[doc];
if (bottom == null) {
@@ -826,18 +889,22 @@
return bottom.compareTo(val2);
}
+ @Override
public void copy(int slot, int doc) {
values[slot] = currentReaderValues[doc];
}
+ @Override
public void setNextReader(IndexReader reader, int docBase) throws IOException {
currentReaderValues = FieldCache.DEFAULT.getStrings(reader, field);
}
+ @Override
public void setBottom(final int bottom) {
this.bottom = values[bottom];
}
+ @Override
public Comparable value(int slot) {
return values[slot];
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldDoc.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldDoc.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldDoc.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldDoc.java Thu Oct 29 21:29:47 2009
@@ -38,37 +38,38 @@
*/
public class FieldDoc extends ScoreDoc {
- /** Expert: The values which are used to sort the referenced document.
- * The order of these will match the original sort criteria given by a
- * Sort object. Each Object will be either an Integer, Float or String,
- * depending on the type of values in the terms of the original field.
- * @see Sort
- * @see Searcher#search(Query,Filter,int,Sort)
- */
- public Comparable[] fields;
+ /** Expert: The values which are used to sort the referenced document.
+ * The order of these will match the original sort criteria given by a
+ * Sort object. Each Object will be either an Integer, Float or String,
+ * depending on the type of values in the terms of the original field.
+ * @see Sort
+ * @see Searcher#search(Query,Filter,int,Sort)
+ */
+ public Comparable[] fields;
- /** Expert: Creates one of these objects with empty sort information. */
- public FieldDoc (int doc, float score) {
- super (doc, score);
- }
+ /** Expert: Creates one of these objects with empty sort information. */
+ public FieldDoc (int doc, float score) {
+ super (doc, score);
+ }
- /** Expert: Creates one of these objects with the given sort information. */
- public FieldDoc (int doc, float score, Comparable[] fields) {
- super (doc, score);
- this.fields = fields;
- }
-
- // A convenience method for debugging.
- public String toString() {
- // super.toString returns the doc and score information, so just add the
+ /** Expert: Creates one of these objects with the given sort information. */
+ public FieldDoc (int doc, float score, Comparable[] fields) {
+ super (doc, score);
+ this.fields = fields;
+ }
+
+ // A convenience method for debugging.
+ @Override
+ public String toString() {
+ // super.toString returns the doc and score information, so just add the
// fields information
- StringBuilder sb = new StringBuilder(super.toString());
- sb.append("[");
- for (int i = 0; i < fields.length; i++) {
+ StringBuilder sb = new StringBuilder(super.toString());
+ sb.append("[");
+ for (int i = 0; i < fields.length; i++) {
sb.append(fields[i]).append(", ");
}
- sb.setLength(sb.length() - 2); // discard last ", "
- sb.append("]");
- return super.toString();
- }
+ sb.setLength(sb.length() - 2); // discard last ", "
+ sb.append("]");
+ return super.toString();
+ }
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldValueHitQueue.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldValueHitQueue.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldValueHitQueue.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldValueHitQueue.java Thu Oct 29 21:29:47 2009
@@ -47,6 +47,7 @@
this.score = score;
}
+ @Override
public String toString() {
return "slot:" + slot + " docID:" + docID + " score=" + score;
}
@@ -84,6 +85,7 @@
* @param b ScoreDoc
* @return true
if document a
should be sorted after document b
.
*/
+ @Override
protected boolean lessThan(final Entry hitA, final Entry hitB) {
assert hitA != hitB;
@@ -121,6 +123,7 @@
initialize(size);
}
+ @Override
protected boolean lessThan(final Entry hitA, final Entry hitB) {
assert hitA != hitB;
@@ -190,6 +193,7 @@
protected final FieldComparator[] comparators;
protected final int[] reverseMul;
+ @Override
protected abstract boolean lessThan (final Entry a, final Entry b);
/**
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSet.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSet.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSet.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSet.java Thu Oct 29 21:29:47 2009
@@ -69,6 +69,7 @@
// @Override
public DocIdSetIterator iterator() throws IOException {
return new FilteredDocIdSetIterator(_innerSet.iterator()) {
+ @Override
protected boolean match(int docid) throws IOException {
return FilteredDocIdSet.this.match(docid);
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSetIterator.java Thu Oct 29 21:29:47 2009
@@ -49,10 +49,12 @@
*/
abstract protected boolean match(int doc) throws IOException;
+ @Override
public int docID() {
return doc;
}
+ @Override
public int nextDoc() throws IOException {
while ((doc = _innerIter.nextDoc()) != NO_MORE_DOCS) {
if (match(doc)) {
@@ -62,6 +64,7 @@
return doc;
}
+ @Override
public int advance(int target) throws IOException {
doc = _innerIter.advance(target);
if (doc != NO_MORE_DOCS) {
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredQuery.java Thu Oct 29 21:29:47 2009
@@ -58,6 +58,7 @@
* Returns a Weight that applies the filter to the enclosed query's Weight.
* This is accomplished by overriding the Scorer returned by the Weight.
*/
+ @Override
public Weight createWeight(final Searcher searcher) throws IOException {
final Weight weight = query.createWeight (searcher);
final Similarity similarity = query.getSimilarity(searcher);
@@ -65,14 +66,21 @@
private float value;
// pass these methods through to enclosed query's weight
+ @Override
public float getValue() { return value; }
+
+ @Override
public float sumOfSquaredWeights() throws IOException {
return weight.sumOfSquaredWeights() * getBoost() * getBoost();
}
+
+ @Override
public void normalize (float v) {
weight.normalize(v);
value = weight.getValue() * getBoost();
}
+
+ @Override
public Explanation explain (IndexReader ir, int i) throws IOException {
Explanation inner = weight.explain (ir, i);
if (getBoost()!=1) {
@@ -98,9 +106,11 @@
}
// return this query
+ @Override
public Query getQuery() { return FilteredQuery.this; }
// return a filtering scorer
+ @Override
public Scorer scorer(IndexReader indexReader, boolean scoreDocsInOrder, boolean topScorer)
throws IOException {
final Scorer scorer = weight.scorer(indexReader, true, false);
@@ -131,6 +141,7 @@
return scorerDoc;
}
+ @Override
public int nextDoc() throws IOException {
int scorerDoc, disiDoc;
return doc = (disiDoc = docIdSetIterator.nextDoc()) != NO_MORE_DOCS
@@ -138,8 +149,10 @@
&& advanceToCommon(scorerDoc, disiDoc) != NO_MORE_DOCS ? scorer.docID() : NO_MORE_DOCS;
}
+ @Override
public int docID() { return doc; }
+ @Override
public int advance(int target) throws IOException {
int disiDoc, scorerDoc;
return doc = (disiDoc = docIdSetIterator.advance(target)) != NO_MORE_DOCS
@@ -147,27 +160,15 @@
&& advanceToCommon(scorerDoc, disiDoc) != NO_MORE_DOCS ? scorer.docID() : NO_MORE_DOCS;
}
+ @Override
public float score() throws IOException { return getBoost() * scorer.score(); }
-
- // add an explanation about whether the document was filtered
- public Explanation explain (int i) throws IOException {
- Explanation exp = scorer.explain(i);
-
- if (docIdSetIterator.advance(i) == i) {
- exp.setDescription ("allowed by filter: "+exp.getDescription());
- exp.setValue(getBoost() * exp.getValue());
- } else {
- exp.setDescription ("removed by filter: "+exp.getDescription());
- exp.setValue(0.0f);
- }
- return exp;
- }
};
}
};
}
/** Rewrites the wrapped query. */
+ @Override
public Query rewrite(IndexReader reader) throws IOException {
Query rewritten = query.rewrite(reader);
if (rewritten != query) {
@@ -188,11 +189,13 @@
}
// inherit javadoc
+ @Override
public void extractTerms(Set terms) {
getQuery().extractTerms(terms);
}
/** Prints a user-readable version of this query. */
+ @Override
public String toString (String s) {
StringBuilder buffer = new StringBuilder();
buffer.append("filtered(");
@@ -204,6 +207,7 @@
}
/** Returns true iff o
is equal to this. */
+ @Override
public boolean equals(Object o) {
if (o instanceof FilteredQuery) {
FilteredQuery fq = (FilteredQuery) o;
@@ -213,6 +217,7 @@
}
/** Returns a hash code value for this object. */
+ @Override
public int hashCode() {
return query.hashCode() ^ filter.hashCode() + Float.floatToRawIntBits(getBoost());
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredTermEnum.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredTermEnum.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredTermEnum.java Thu Oct 29 21:29:47 2009
@@ -63,6 +63,7 @@
* Returns the docFreq of the current Term in the enumeration.
* Returns -1 if no Term matches or all terms have been enumerated.
*/
+ @Override
public int docFreq() {
if (currentTerm == null) return -1;
assert actualEnum != null;
@@ -70,6 +71,7 @@
}
/** Increments the enumeration to the next element. True if one exists. */
+ @Override
public boolean next() throws IOException {
if (actualEnum == null) return false; // the actual enumerator is not initialized!
currentTerm = null;
@@ -90,11 +92,13 @@
/** Returns the current Term in the enumeration.
* Returns null if no Term matches or all terms have been enumerated. */
+ @Override
public Term term() {
return currentTerm;
}
/** Closes the enumeration to further activity, freeing resources. */
+ @Override
public void close() throws IOException {
if (actualEnum != null) actualEnum.close();
currentTerm = null;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyQuery.java Thu Oct 29 21:29:47 2009
@@ -110,10 +110,12 @@
}
// @deprecated see #getTermsEnum
+ @Override
protected FilteredTermEnum getEnum(IndexReader reader) throws IOException {
return new FuzzyTermEnum(reader, getTerm(), minimumSimilarity, prefixLength);
}
+ @Override
protected FilteredTermsEnum getTermsEnum(IndexReader reader) throws IOException {
return new FuzzyTermsEnum(reader, getTerm(), minimumSimilarity, prefixLength);
}
@@ -125,6 +127,7 @@
return term;
}
+ @Override
public void setRewriteMethod(RewriteMethod method) {
throw new UnsupportedOperationException("FuzzyQuery cannot change rewrite method");
}
@@ -178,6 +181,7 @@
return query;
}
+ @Override
public String toString(String field) {
StringBuilder buffer = new StringBuilder();
if (!term.field().equals(field)) {
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyTermEnum.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyTermEnum.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyTermEnum.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FuzzyTermEnum.java Thu Oct 29 21:29:47 2009
@@ -127,6 +127,7 @@
* The termCompare method in FuzzyTermEnum uses Levenshtein distance to
* calculate the distance between the given term and the comparing term.
*/
+ @Override
protected final boolean termCompare(Term term) {
if (field == term.field() && term.text().startsWith(prefix)) {
final String target = term.text().substring(prefix.length());
@@ -138,11 +139,13 @@
}
/** {@inheritDoc} */
+ @Override
public final float difference() {
return (similarity - minimumSimilarity) * scale_factor;
}
/** {@inheritDoc} */
+ @Override
public final boolean endEnum() {
return endEnum;
}
@@ -273,6 +276,7 @@
}
/** {@inheritDoc} */
+ @Override
public void close() throws IOException {
p = d = null;
searchTerm = null;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/HitQueue.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/HitQueue.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/HitQueue.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/HitQueue.java Thu Oct 29 21:29:47 2009
@@ -68,6 +68,7 @@
}
// Returns null if prePopulate is false.
+ @Override
protected ScoreDoc getSentinelObject() {
// Always set the doc Id to MAX_VALUE so that it won't be favored by
// lessThan. This generally should not happen since if score is not NEG_INF,
@@ -75,6 +76,7 @@
return !prePopulate ? null : new ScoreDoc(Integer.MAX_VALUE, Float.NEGATIVE_INFINITY);
}
+ @Override
protected final boolean lessThan(ScoreDoc hitA, ScoreDoc hitB) {
if (hitA.score == hitB.score)
return hitA.doc > hitB.doc;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java Thu Oct 29 21:29:47 2009
@@ -116,17 +116,20 @@
* If the IndexReader was supplied implicitly by specifying a directory, then
* the IndexReader gets closed.
*/
+ @Override
public void close() throws IOException {
if(closeReader)
reader.close();
}
// inherit javadoc
+ @Override
public int docFreq(Term term) throws IOException {
return reader.docFreq(term);
}
// inherit javadoc
+ @Override
public Document doc(int i) throws CorruptIndexException, IOException {
return reader.document(i);
}
@@ -137,11 +140,13 @@
}
// inherit javadoc
+ @Override
public int maxDoc() throws IOException {
return reader.maxDoc();
}
// inherit javadoc
+ @Override
public TopDocs search(Weight weight, Filter filter, final int nDocs) throws IOException {
if (nDocs <= 0) {
@@ -153,6 +158,7 @@
return collector.topDocs();
}
+ @Override
public TopFieldDocs search(Weight weight, Filter filter,
final int nDocs, Sort sort) throws IOException {
return search(weight, filter, nDocs, sort, true);
@@ -185,6 +191,7 @@
return (TopFieldDocs) collector.topDocs();
}
+ @Override
public void search(Weight weight, Filter filter, Collector collector)
throws IOException {
@@ -250,6 +257,7 @@
}
}
+ @Override
public Query rewrite(Query original) throws IOException {
Query query = original;
for (Query rewrittenQuery = query.rewrite(reader); rewrittenQuery != query;
@@ -259,6 +267,7 @@
return query;
}
+ @Override
public Explanation explain(Weight weight, int doc) throws IOException {
int n = ReaderUtil.subIndex(doc, docStarts);
int deBasedDoc = doc - docStarts[n];
@@ -269,7 +278,18 @@
private boolean fieldSortDoTrackScores;
private boolean fieldSortDoMaxScore;
- /** @deprecated */
+ /** By default, no scores are computed when sorting by
+ * field (using {@link #search(Query,Filter,int,Sort)}).
+ * You can change that, per IndexSearcher instance, by
+ * calling this method. Note that this will incur a CPU
+ * cost.
+ *
+ * @param doTrackScores If true, then scores are
+ * returned for every matching document in {@link
+ * TopFieldDocs}.
+ *
+ * @param doMaxScore If true, then the max score for all
+ * matching docs is computed. */
public void setDefaultFieldSortScoring(boolean doTrackScores, boolean doMaxScore) {
fieldSortDoTrackScores = doTrackScores;
fieldSortDoMaxScore = doMaxScore;
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MatchAllDocsQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MatchAllDocsQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MatchAllDocsQuery.java Thu Oct 29 21:29:47 2009
@@ -60,14 +60,12 @@
this.norms = norms;
}
- public Explanation explain(int doc) {
- return null; // not called... see MatchAllDocsWeight.explain()
- }
-
+ @Override
public int docID() {
return doc;
}
+ @Override
public int nextDoc() throws IOException {
doc++;
while(delDocs != null && doc < maxDoc && delDocs.get(doc)) {
@@ -79,10 +77,12 @@
return doc;
}
+ @Override
public float score() {
return norms == null ? score : score * Similarity.decodeNorm(norms[docID()]);
}
+ @Override
public int advance(int target) throws IOException {
doc = target-1;
return nextDoc();
@@ -98,33 +98,40 @@
this.similarity = searcher.getSimilarity();
}
+ @Override
public String toString() {
return "weight(" + MatchAllDocsQuery.this + ")";
}
+ @Override
public Query getQuery() {
return MatchAllDocsQuery.this;
}
+ @Override
public float getValue() {
return queryWeight;
}
+ @Override
public float sumOfSquaredWeights() {
queryWeight = getBoost();
return queryWeight * queryWeight;
}
+ @Override
public void normalize(float queryNorm) {
this.queryNorm = queryNorm;
queryWeight *= this.queryNorm;
}
+ @Override
public Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer) throws IOException {
return new MatchAllScorer(reader, similarity, this,
normsField != null ? reader.norms(normsField) : null);
}
+ @Override
public Explanation explain(IndexReader reader, int doc) {
// explain query weight
Explanation queryExpl = new ComplexExplanation
@@ -138,13 +145,16 @@
}
}
+ @Override
public Weight createWeight(Searcher searcher) {
return new MatchAllDocsWeight(searcher);
}
+ @Override
public void extractTerms(Set terms) {
}
+ @Override
public String toString(String field) {
StringBuilder buffer = new StringBuilder();
buffer.append("*:*");
@@ -152,6 +162,7 @@
return buffer.toString();
}
+ @Override
public boolean equals(Object o) {
if (!(o instanceof MatchAllDocsQuery))
return false;
@@ -159,6 +170,7 @@
return this.getBoost() == other.getBoost();
}
+ @Override
public int hashCode() {
return Float.floatToIntBits(getBoost()) ^ 0x1AA71190;
}
Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiPhraseQuery.java?rev=831094&r1=831093&r2=831094&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiPhraseQuery.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiPhraseQuery.java Thu Oct 29 21:29:47 2009
@@ -116,6 +116,7 @@
}
// inherit javadoc
+ @Override
public void extractTerms(Set terms) {
for (final Term[] arr : termArrays) {
for (final Term term: arr) {
@@ -145,20 +146,26 @@
}
}
+ @Override
public Query getQuery() { return MultiPhraseQuery.this; }
+
+ @Override
public float getValue() { return value; }
+ @Override
public float sumOfSquaredWeights() {
queryWeight = idf * getBoost(); // compute query weight
return queryWeight * queryWeight; // square it
}
+ @Override
public void normalize(float queryNorm) {
this.queryNorm = queryNorm;
queryWeight *= queryNorm; // normalize query weight
value = queryWeight * idf; // idf for document
}
+ @Override
public Scorer scorer(IndexReader reader, boolean scoreDocsInOrder, boolean topScorer) throws IOException {
if (termArrays.size() == 0) // optimize zero-term case
return null;
@@ -191,6 +198,7 @@
slop, reader.norms(field));
}
+ @Override
public Explanation explain(IndexReader reader, int doc)
throws IOException {
ComplexExplanation result = new ComplexExplanation();
@@ -222,12 +230,16 @@
fieldExpl.setDescription("fieldWeight("+getQuery()+" in "+doc+
"), product of:");
- Scorer scorer = scorer(reader, true, false);
+ PhraseScorer scorer = (PhraseScorer) scorer(reader, true, false);
if (scorer == null) {
return new Explanation(0.0f, "no matching docs");
}
- Explanation tfExpl = scorer.explain(doc);
- fieldExpl.addDetail(tfExpl);
+ Explanation tfExplanation = new Explanation();
+ int d = scorer.advance(doc);
+ float phraseFreq = (d == doc) ? scorer.currentFreq() : 0.0f;
+ tfExplanation.setValue(similarity.tf(phraseFreq));
+ tfExplanation.setDescription("tf(phraseFreq=" + phraseFreq + ")");
+ fieldExpl.addDetail(tfExplanation);
fieldExpl.addDetail(idfExpl);
Explanation fieldNormExpl = new Explanation();
@@ -238,8 +250,8 @@
fieldNormExpl.setDescription("fieldNorm(field="+field+", doc="+doc+")");
fieldExpl.addDetail(fieldNormExpl);
- fieldExpl.setMatch(Boolean.valueOf(tfExpl.isMatch()));
- fieldExpl.setValue(tfExpl.getValue() *
+ fieldExpl.setMatch(Boolean.valueOf(tfExplanation.isMatch()));
+ fieldExpl.setValue(tfExplanation.getValue() *
idfExpl.getValue() *
fieldNormExpl.getValue());
@@ -256,6 +268,7 @@
}
}
+ @Override
public Query rewrite(IndexReader reader) {
if (termArrays.size() == 1) { // optimize one-term case
Term[] terms = termArrays.get(0);
@@ -270,11 +283,13 @@
}
}
+ @Override
public Weight createWeight(Searcher searcher) throws IOException {
return new MultiPhraseWeight(searcher);
}
/** Prints a user-readable version of this query. */
+ @Override
public final String toString(String f) {
StringBuilder buffer = new StringBuilder();
if (!field.equals(f)) {
@@ -314,6 +329,7 @@
/** Returns true if o
is equal to this. */
+ @Override
public boolean equals(Object o) {
if (!(o instanceof MultiPhraseQuery)) return false;
MultiPhraseQuery other = (MultiPhraseQuery)o;
@@ -324,6 +340,7 @@
}
/** Returns a hash code value for this object.*/
+ @Override
public int hashCode() {
return Float.floatToIntBits(getBoost())
^ slop
@@ -337,25 +354,11 @@
int hashCode = 1;
for (final Term[] termArray: termArrays) {
hashCode = 31 * hashCode
- + (termArray == null ? 0 : arraysHashCode(termArray));
+ + (termArray == null ? 0 : Arrays.hashCode(termArray));
}
return hashCode;
}
- private int arraysHashCode(Term[] termArray) {
- if (termArray == null)
- return 0;
-
- int result = 1;
-
- for (int i = 0; i < termArray.length; i++) {
- Term term = termArray[i];
- result = 31 * result + (term == null ? 0 : term.hashCode());
- }
-
- return result;
- }
-
// Breakout calculation of the termArrays equals
private boolean termArraysEquals(List termArrays1, List termArrays2) {
if (termArrays1.size() != termArrays2.size()) {