Class ReverseOrdFieldSource


  • public class ReverseOrdFieldSource
    extends ValueSource
    Obtains the ordinal of the field value from the default Lucene FieldCache using getTermsIndex() 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 java.lang.String field
    • Constructor Detail

      • ReverseOrdFieldSource

        public ReverseOrdFieldSource​(java.lang.String field)
    • Method Detail

      • description

        public java.lang.String description()
        Description copied from class: ValueSource
        description of field, used in explain()
        Specified by:
        description in class ValueSource
      • getValues

        public FunctionValues getValues​(java.util.Map context,
                                        AtomicReaderContext readerContext)
                                 throws java.io.IOException
        Description copied from class: ValueSource
        Gets the values for this reader and the context that was previously passed to createWeight()
        Specified by:
        getValues in class ValueSource
        Throws:
        java.io.IOException
      • equals

        public boolean equals​(java.lang.Object o)
        Specified by:
        equals in class ValueSource