mirror of https://github.com/apache/lucene.git
Deprecated superfluous abstract getTerms method introduced in SpanQuery.java, added implementations of Query's existing extractTerms method and switched SpanWeight to use extractTerms instead.
git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@389886 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bb923a20b1
commit
4696ac421e
|
@ -19,6 +19,7 @@ package org.apache.lucene.search.spans;
|
|||
import java.io.IOException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.search.Query;
|
||||
|
@ -44,6 +45,10 @@ public class SpanFirstQuery extends SpanQuery {
|
|||
|
||||
public String getField() { return match.getField(); }
|
||||
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see #extractTerms(Set)
|
||||
*/
|
||||
public Collection getTerms() { return match.getTerms(); }
|
||||
|
||||
public String toString(String field) {
|
||||
|
@ -56,6 +61,10 @@ public class SpanFirstQuery extends SpanQuery {
|
|||
buffer.append(ToStringUtils.boost(getBoost()));
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
public void extractTerms(Set terms) {
|
||||
match.extractTerms(terms);
|
||||
}
|
||||
|
||||
public Spans getSpans(final IndexReader reader) throws IOException {
|
||||
return new Spans() {
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.util.Collection;
|
|||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
|
@ -72,7 +73,11 @@ public class SpanNearQuery extends SpanQuery {
|
|||
public boolean isInOrder() { return inOrder; }
|
||||
|
||||
public String getField() { return field; }
|
||||
|
||||
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see #extractTerms(Set)
|
||||
*/
|
||||
public Collection getTerms() {
|
||||
Collection terms = new ArrayList();
|
||||
Iterator i = clauses.iterator();
|
||||
|
@ -82,6 +87,15 @@ public class SpanNearQuery extends SpanQuery {
|
|||
}
|
||||
return terms;
|
||||
}
|
||||
|
||||
public void extractTerms(Set terms) {
|
||||
Iterator i = clauses.iterator();
|
||||
while (i.hasNext()) {
|
||||
SpanQuery clause = (SpanQuery)i.next();
|
||||
clause.extractTerms(terms);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String toString(String field) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.apache.lucene.search.spans;
|
|||
import java.io.IOException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.search.Query;
|
||||
|
@ -47,7 +48,13 @@ public class SpanNotQuery extends SpanQuery {
|
|||
|
||||
public String getField() { return include.getField(); }
|
||||
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see #extractTerms(Set)
|
||||
*/
|
||||
public Collection getTerms() { return include.getTerms(); }
|
||||
|
||||
public void extractTerms(Set terms) { include.extractTerms(terms); }
|
||||
|
||||
public String toString(String field) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.util.List;
|
|||
import java.util.Collection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.util.PriorityQueue;
|
||||
|
@ -56,6 +57,10 @@ public class SpanOrQuery extends SpanQuery {
|
|||
|
||||
public String getField() { return field; }
|
||||
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see #extractTerms(Set)
|
||||
*/
|
||||
public Collection getTerms() {
|
||||
Collection terms = new ArrayList();
|
||||
Iterator i = clauses.iterator();
|
||||
|
@ -65,6 +70,15 @@ public class SpanOrQuery extends SpanQuery {
|
|||
}
|
||||
return terms;
|
||||
}
|
||||
|
||||
public void extractTerms(Set terms) {
|
||||
Iterator i = clauses.iterator();
|
||||
while (i.hasNext()) {
|
||||
SpanQuery clause = (SpanQuery)i.next();
|
||||
clause.extractTerms(terms);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Query rewrite(IndexReader reader) throws IOException {
|
||||
SpanOrQuery clone = null;
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.apache.lucene.search.spans;
|
|||
import java.io.IOException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.search.Query;
|
||||
|
@ -34,7 +35,10 @@ public abstract class SpanQuery extends Query {
|
|||
/** Returns the name of the field matched by this query.*/
|
||||
public abstract String getField();
|
||||
|
||||
/** Returns a collection of all terms matched by this query.*/
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see Query#extractTerms(Set)
|
||||
*/
|
||||
public abstract Collection getTerms();
|
||||
|
||||
protected Weight createWeight(Searcher searcher) throws IOException {
|
||||
|
|
|
@ -20,6 +20,7 @@ import java.io.IOException;
|
|||
|
||||
import java.util.Collection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.index.Term;
|
||||
|
@ -37,12 +38,19 @@ public class SpanTermQuery extends SpanQuery {
|
|||
public Term getTerm() { return term; }
|
||||
|
||||
public String getField() { return term.field(); }
|
||||
|
||||
|
||||
/** Returns a collection of all terms matched by this query.
|
||||
* @deprecated use extractTerms instead
|
||||
* @see #extractTerms(Set)
|
||||
*/
|
||||
public Collection getTerms() {
|
||||
Collection terms = new ArrayList();
|
||||
terms.add(term);
|
||||
return terms;
|
||||
}
|
||||
public void extractTerms(Set terms) {
|
||||
terms.add(term);
|
||||
}
|
||||
|
||||
public String toString(String field) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
|
|
|
@ -18,8 +18,9 @@ package org.apache.lucene.search.spans;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.lucene.index.IndexReader;
|
||||
import org.apache.lucene.index.Term;
|
||||
|
@ -38,14 +39,15 @@ class SpanWeight implements Weight {
|
|||
private float queryNorm;
|
||||
private float queryWeight;
|
||||
|
||||
private Collection terms;
|
||||
private Set terms;
|
||||
private SpanQuery query;
|
||||
|
||||
public SpanWeight(SpanQuery query, Searcher searcher)
|
||||
throws IOException {
|
||||
this.similarity = query.getSimilarity(searcher);
|
||||
this.query = query;
|
||||
this.terms = query.getTerms();
|
||||
terms=new HashSet();
|
||||
query.extractTerms(terms);
|
||||
|
||||
idf = this.query.getSimilarity(searcher).idf(terms, searcher);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue