org.apache.lucene.search

Class SortField

Implemented Interfaces:
Serializable

public class SortField
extends java.lang.Object
implements Serializable

Stores 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

Version:
$Id: SortField.java,v 1.9 2004/05/24 22:51:42 tjones Exp $
Author:
Tim Jones (Nacimiento Software)
Since:
lucene 1.4
See Also:
Sort

Field Summary

static int
AUTO
Guess type of sort based on field contents.
static int
CUSTOM
Sort using a custom Comparator.
static int
DOC
Sort by document number (index order).
static SortField
FIELD_DOC
Represents sorting by document number (index order).
static SortField
FIELD_SCORE
Represents sorting by document score (relevancy).
static int
FLOAT
Sort using term values as encoded Floats.
static int
INT
Sort using term values as encoded Integers.
static int
SCORE
Sort by document score (relevancy).
static int
STRING
Sort using term values as Strings.

Constructor Summary

SortField(String field)
Creates a sort by terms in the given field where the type of term value is determined dynamically (AUTO).
SortField(String field, Locale locale)
Creates a sort by terms in the given field sorted according to the given locale.
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.
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 (AUTO).
SortField(String field, int type)
Creates a sort by terms in the given field with the type of term values explicitly given.
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.
SortField(String field, SortComparatorSource comparator)
Creates a sort with a custom comparison function.
SortField(String field, SortComparatorSource comparator, boolean reverse)
Creates a sort, possibly in reverse, with a custom comparison function.

Method Summary

SortComparatorSource
getFactory()
String
getField()
Returns the name of the field.
Locale
getLocale()
Returns the Locale by which term values are interpreted.
boolean
getReverse()
Returns whether the sort should be reversed.
int
getType()
Returns the type of contents in the field.
String
toString()

Field Details

AUTO

public static final int AUTO
Guess 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.
Field Value:
2

CUSTOM

public static final int CUSTOM
Sort using a custom Comparator. Sort values are any Comparable and sorting is done according to natural order.
Field Value:
9

DOC

public static final int DOC
Sort by document number (index order). Sort values are Integer and lower values are at the front.
Field Value:
1

FIELD_DOC

public static final SortField FIELD_DOC
Represents sorting by document number (index order).

FIELD_SCORE

public static final SortField FIELD_SCORE
Represents sorting by document score (relevancy).

FLOAT

public static final int FLOAT
Sort using term values as encoded Floats. Sort values are Float and lower values are at the front.
Field Value:
5

INT

public static final int INT
Sort using term values as encoded Integers. Sort values are Integer and lower values are at the front.
Field Value:
4

SCORE

public static final int SCORE
Sort by document score (relevancy). Sort values are Float and higher values are at the front.
Field Value:
0

STRING

public static final int STRING
Sort using term values as Strings. Sort values are String and lower values are at the front.
Field Value:
3

Constructor Details

SortField

public SortField(String field)
Parameters:
field - Name of field to sort by, cannot be null.

SortField

public SortField(String field,
                 Locale locale)
Creates a sort by terms in the given field sorted according to the given locale.
Parameters:
field - Name of field to sort by, cannot be null.
locale - Locale of values in the field.

SortField

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.
Parameters:
field - Name of field to sort by, cannot be null.
locale - Locale of values in the field.

SortField

public SortField(String field,
                 boolean reverse)
Parameters:
field - Name of field to sort by, cannot be null.
reverse - True if natural order should be reversed.

SortField

public SortField(String field,
                 int type)
Creates a sort by terms in the given field with the type of term values explicitly given.
Parameters:
field - Name of field to sort by. Can be null if type is SCORE or DOC.
type - Type of values in the terms.

SortField

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.
Parameters:
field - Name of field to sort by. Can be null if type is SCORE or DOC.
type - Type of values in the terms.
reverse - True if natural order should be reversed.

SortField

public SortField(String field,
                 SortComparatorSource comparator)
Creates a sort with a custom comparison function.
Parameters:
field - Name of field to sort by; cannot be null.
comparator - Returns a comparator for sorting hits.

SortField

public SortField(String field,
                 SortComparatorSource comparator,
                 boolean reverse)
Creates a sort, possibly in reverse, with a custom comparison function.
Parameters:
field - Name of field to sort by; cannot be null.
comparator - Returns a comparator for sorting hits.
reverse - True if natural order should be reversed.

Method Details

getFactory

public SortComparatorSource getFactory()

getField

public String getField()
Returns the name of the field. Could return null if the sort is by SCORE or DOC.
Returns:
Name of field, possibly null.

getLocale

public Locale getLocale()
Returns the Locale by which term values are interpreted. May return null if no Locale was specified.
Returns:
Locale, or null.

getReverse

public boolean getReverse()
Returns whether the sort should be reversed.
Returns:
True if natural order should be reversed.

getType

public int getType()
Returns the type of contents in the field.
Returns:
One of the constants SCORE, DOC, AUTO, STRING, INT or FLOAT.

toString

public String toString()

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.