com.atlassian.jira.issue.search.parameters.lucene.sort
Class MappedSortComparator
java.lang.Object
com.atlassian.jira.issue.search.parameters.lucene.sort.MappedSortComparator
- All Implemented Interfaces:
- Serializable, org.apache.lucene.search.SortComparatorSource
public class MappedSortComparator
- extends Object
- implements org.apache.lucene.search.SortComparatorSource
This Sort Comparator reads through the terms dictionary in lucene, and builds up a list of ordered terms. It then
sorts the documents according to the order that they appear in the terms list.
This approach, whilst very fast, does load the entire term dictionary into memory. This could be a problem where there
are a large number of terms (eg. text fields).
- See Also:
- Serialized Form
MappedSortComparator
public MappedSortComparator(LuceneFieldSorter sorter)
newComparator
public org.apache.lucene.search.ScoreDocComparator newComparator(org.apache.lucene.index.IndexReader reader,
String fieldname)
throws IOException
- Specified by:
newComparator
in interface org.apache.lucene.search.SortComparatorSource
- Throws:
IOException
getComparable
public Object getComparable(String termtext)
- Returns an object which, when sorted according by the comparator returned from
LuceneFieldSorter.getComparator()
,
will order the Term values in the correct order.
For example, if the Terms contained integer values, this method
would return new Integer(termtext)
. Note that this
might not always be the most efficient implementation - for this
particular example, a better implementation might be to make a
ScoreDocLookupComparator that uses an internal lookup table of int.
- Parameters:
termtext
- The textual value of the term.
- Returns:
- An object representing
termtext
that can be sorted by LuceneFieldSorter.getComparator()
- See Also:
Comparable
,
ScoreDocComparator
getComparator
public Comparator getComparator()
equals
public boolean equals(Object o)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object
Copyright © 2002-2010 Atlassian. All Rights Reserved.