org.apache.lucene.search.function
Class ReverseOrdFieldSource

java.lang.Object
  extended by org.apache.lucene.search.function.ValueSource
      extended by org.apache.lucene.search.function.ReverseOrdFieldSource
All Implemented Interfaces:
Serializable

public class ReverseOrdFieldSource
extends ValueSource

Expert: obtains the ordinal of the field value from the default Lucene FieldCache using getStringIndex() and reverses the order.

The native lucene index order is used to assign an ordinal value for each field value.

Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1.
Example of reverse ordinal (rord):
If there were only three field values: "apple","banana","pear"
then rord("apple")=3, rord("banana")=2, ord("pear")=1

WARNING: rord() depends on the position in an index and can thus change when other documents are inserted or deleted, or if a MultiSearcher is used.

See Also:
Serialized Form
WARNING: This API is experimental and might change in incompatible ways in the next release.

NOTE: with the switch in 2.9 to segment-based searching, if getValues(org.apache.lucene.index.IndexReader) is invoked with a composite (multi-segment) reader, this can easily cause double RAM usage for the values in the FieldCache. It's best to switch your application to pass only atomic (single segment) readers to this API.


Field Summary
 String field
           
 
Constructor Summary
ReverseOrdFieldSource(String field)
          Contructor for a certain field.
 
Method Summary
 String description()
          description of field, used in explain()
 boolean equals(Object o)
          Needed for possible caching of query results - used by ValueSourceQuery.equals(Object).
 DocValues getValues(IndexReader reader)
          Return the DocValues used by the function query.
 int hashCode()
          Needed for possible caching of query results - used by ValueSourceQuery.hashCode().
 
Methods inherited from class org.apache.lucene.search.function.ValueSource
toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

field

public String field
Constructor Detail

ReverseOrdFieldSource

public ReverseOrdFieldSource(String field)
Contructor for a certain field.

Parameters:
field - field whose values reverse order is used.
Method Detail

description

public String description()
Description copied from class: ValueSource
description of field, used in explain()

Specified by:
description in class ValueSource

getValues

public DocValues getValues(IndexReader reader)
                    throws IOException
Description copied from class: ValueSource
Return the DocValues used by the function query.

Specified by:
getValues in class ValueSource
Parameters:
reader - the IndexReader used to read these values. If any caching is involved, that caching would also be IndexReader based.
Throws:
IOException - for any error.

equals

public boolean equals(Object o)
Description copied from class: ValueSource
Needed for possible caching of query results - used by ValueSourceQuery.equals(Object).

Specified by:
equals in class ValueSource
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Description copied from class: ValueSource
Needed for possible caching of query results - used by ValueSourceQuery.hashCode().

Specified by:
hashCode in class ValueSource
See Also:
Object.hashCode()