Class OrdFieldSource

  • public class OrdFieldSource
    extends org.apache.lucene.queries.function.ValueSource
    Obtains the ordinal of the field value from LeafReader.getSortedDocValues(java.lang.String).
    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.
    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.

    • Field Detail

      • field

        protected final String field
    • Constructor Detail

      • OrdFieldSource

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