org.apache.lucene.search.regex
public class: RegexTermEnum [javadoc |
source]
java.lang.Object
org.apache.lucene.index.TermEnum
org.apache.lucene.search.FilteredTermEnum
org.apache.lucene.search.regex.RegexTermEnum
All Implemented Interfaces:
Closeable
Subclass of FilteredTermEnum for enumerating all terms that match the
specified regular expression term using the specified regular expression
implementation.
Term enumerations are always ordered by Term.compareTo(). Each term in
the enumeration is greater than all that precede it.
| Constructor: |
public RegexTermEnum(IndexReader reader,
Term term,
RegexCapabilities regexImpl) throws IOException {
super();
field = term.field();
String text = term.text();
this.regexImpl = regexImpl;
regexImpl.compile(text);
pre = regexImpl.prefix();
if (pre == null) pre = "";
setEnum(reader.terms(new Term(term.field(), pre)));
}
|
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from org.apache.lucene.search.regex.RegexTermEnum Detail: |
public void close() throws IOException {
super.close();
field = null;
}
|
public final float difference() {
// TODO: adjust difference based on distance of searchTerm.text() and term().text()
return 1.0f;
}
|
public final boolean endEnum() {
return endEnum;
}
|
protected final boolean termCompare(Term term) {
if (field == term.field()) {
String searchText = term.text();
if (searchText.startsWith(pre)) {
return regexImpl.match(searchText);
}
}
endEnum = true;
return false;
}
|