Class ScaleFloatFunction


  • public class ScaleFloatFunction
    extends ValueSource
    Scales values to be between min and max.

    This implementation currently traverses all of the source values to obtain their min and max.

    This implementation currently cannot distinguish when documents have been deleted or documents that have no value, and 0.0 values will be used for these cases. This means that if values are normally all greater than 0.0, one can still end up with 0.0 as the min value to map from. In these cases, an appropriate map() function could be used as a workaround to change 0.0 to a value in the real range.

    • Constructor Detail

      • ScaleFloatFunction

        public ScaleFloatFunction​(ValueSource source,
                                  float min,
                                  float max)
    • 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
      • createWeight

        public void createWeight​(java.util.Map context,
                                 IndexSearcher searcher)
                          throws java.io.IOException
        Description copied from class: ValueSource
        Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context. The context object will be passed to getValues() where this info can be retrieved.
        Overrides:
        createWeight in class ValueSource
        Throws:
        java.io.IOException
      • equals

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