SortFieldpublic class SortField extends Object implements SerializableStores information about how to sort documents by terms in an individual
field. Fields must be indexed in order to sort by them.
Created: Feb 11, 2004 1:25:29 PM |
Fields Summary |
---|
public static final int | SCORESort by document score (relevancy). Sort values are Float and higher
values are at the front. | public static final int | DOCSort by document number (index order). Sort values are Integer and lower
values are at the front. | public static final int | AUTOGuess type of sort based on field contents. A regular expression is used
to look at the first term indexed for the field and determine if it
represents an integer number, a floating point number, or just arbitrary
string characters. | public static final int | STRINGSort using term values as Strings. Sort values are String and lower
values are at the front. | public static final int | INTSort using term values as encoded Integers. Sort values are Integer and
lower values are at the front. | public static final int | FLOATSort using term values as encoded Floats. Sort values are Float and
lower values are at the front. | public static final int | CUSTOMSort using a custom Comparator. Sort values are any Comparable and
sorting is done according to natural order. | public static final SortField | FIELD_SCORERepresents sorting by document score (relevancy). | public static final SortField | FIELD_DOCRepresents sorting by document number (index order). | private String | field | private int | type | private Locale | locale | boolean | reverse | private SortComparatorSource | factory |
Constructors Summary |
---|
public SortField(String field)Creates a sort by terms in the given field where the type of term value
is determined dynamically ({@link #AUTO AUTO}).
this.field = field.intern();
| public SortField(String field, boolean reverse)Creates a sort, possibly in reverse, by terms in the given field where
the type of term value is determined dynamically ({@link #AUTO AUTO}).
this.field = field.intern();
this.reverse = reverse;
| public SortField(String field, int type)Creates a sort by terms in the given field with the type of term
values explicitly given.
this.field = (field != null) ? field.intern() : field;
this.type = type;
| public SortField(String field, int type, boolean reverse)Creates a sort, possibly in reverse, by terms in the given field with the
type of term values explicitly given.
this.field = (field != null) ? field.intern() : field;
this.type = type;
this.reverse = reverse;
| public SortField(String field, Locale locale)Creates a sort by terms in the given field sorted
according to the given locale.
this.field = field.intern();
this.type = STRING;
this.locale = locale;
| public SortField(String field, Locale locale, boolean reverse)Creates a sort, possibly in reverse, by terms in the given field sorted
according to the given locale.
this.field = field.intern();
this.type = STRING;
this.locale = locale;
this.reverse = reverse;
| public SortField(String field, SortComparatorSource comparator)Creates a sort with a custom comparison function.
this.field = (field != null) ? field.intern() : field;
this.type = CUSTOM;
this.factory = comparator;
| public SortField(String field, SortComparatorSource comparator, boolean reverse)Creates a sort, possibly in reverse, with a custom comparison function.
this.field = (field != null) ? field.intern() : field;
this.type = CUSTOM;
this.reverse = reverse;
this.factory = comparator;
|
Methods Summary |
---|
public org.apache.lucene.search.SortComparatorSource | getFactory()
return factory;
| public java.lang.String | getField()Returns the name of the field. Could return null
if the sort is by SCORE or DOC.
return field;
| public java.util.Locale | getLocale()Returns the Locale by which term values are interpreted.
May return null if no Locale was specified.
return locale;
| public boolean | getReverse()Returns whether the sort should be reversed.
return reverse;
| public int | getType()Returns the type of contents in the field.
return type;
| public java.lang.String | toString()
StringBuffer buffer = new StringBuffer();
switch (type) {
case SCORE: buffer.append("<score>");
break;
case DOC: buffer.append("<doc>");
break;
case CUSTOM: buffer.append ("<custom:\"" + field + "\": "
+ factory + ">");
break;
default: buffer.append("\"" + field + "\"");
break;
}
if (locale != null) buffer.append ("("+locale+")");
if (reverse) buffer.append('!");
return buffer.toString();
|
|