Class OrdFieldSource


  • public class OrdFieldSource
    extends ValueSource
    Obtains the ordinal of the field value from the default Lucene FieldCache using getStringIndex().
    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:
    If there were only three field values: "apple","banana","pear"
    then ord("apple")=1, ord("banana")=2, ord("pear")=3

    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.

    • Constructor Detail

      • OrdFieldSource

        public OrdFieldSource​(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