Class ReverseOrdFieldSource

  • public class ReverseOrdFieldSource
    extends org.apache.lucene.queries.function.ValueSource
    Obtains the ordinal of the field value from LeafReader.getSortedDocValues(java.lang.String) 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: ord() depends on the position in an index and can thus change when other documents are inserted or deleted, or if a MultiSearcher is used.
    WARNING: as of Solr 1.4, ord() and rord() can cause excess memory use since they must use a FieldCache entry at the top level reader, while sorting and function queries now use entries at the segment level. Hence sorting or using a different function query, in addition to ord()/rord() will double memory use.

    • Field Detail

      • field

        public final String field
    • Constructor Detail

      • ReverseOrdFieldSource

        public ReverseOrdFieldSource​(String field)
    • Method Detail

      • description

        public String description()
        Specified by:
        description in class org.apache.lucene.queries.function.ValueSource
      • getValues

        public org.apache.lucene.queries.function.FunctionValues getValues​(Map<Object,​Object> context,
                                                                           org.apache.lucene.index.LeafReaderContext readerContext)
                                                                    throws IOException
        Specified by:
        getValues in class org.apache.lucene.queries.function.ValueSource
      • equals

        public boolean equals​(Object o)
        Specified by:
        equals in class org.apache.lucene.queries.function.ValueSource
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in class org.apache.lucene.queries.function.ValueSource