## org.apache.lucene.queries.function.valuesource
Class ScaleFloatFunction

    java.lang.Object
      org.apache.lucene.queries.function.ValueSource
          org.apache.lucene.queries.function.valuesource.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.

Field Summary
`protected float` `max`
`protected float` `min`
`protected ValueSource` `source`

Constructor Summary
`ScaleFloatFunction(ValueSource source, float min, float max)`

Method Summary
`void` `createWeight(Map context, IndexSearcher searcher)` Implementations should propagate createWeight to sub-ValueSources which can optionally store weight info in the context.
`String` `description()` description of field, used in explain()
`boolean` `equals(Object o)`
`FunctionValues` `getValues(Map context, AtomicReaderContext readerContext)` Gets the values for this reader and the context that was previously passed to createWeight()
`int` `hashCode()`

Methods inherited from class org.apache.lucene.queries.function.ValueSource
`getSortField, newContext, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### source

    protected final ValueSource source

### min

    protected final float min

### max

    protected final float max

Constructor Detail

### ScaleFloatFunction

    public ScaleFloatFunction(ValueSource source,
                              float min,
                              float max)

Method Detail

### description

    public String description()

  Description copied from class: `ValueSource`
  description of field, used in explain()

  Specified by:
    `description` in class `ValueSource`

### getValues

    public FunctionValues getValues(Map context,
                                    AtomicReaderContext readerContext)
                             throws 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:
    `IOException`

### createWeight

    public void createWeight(Map context,
                             IndexSearcher searcher)
                      throws 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:
    `IOException`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in class `ValueSource`

### equals

    public boolean equals(Object o)

  Specified by:
    `equals` in class `ValueSource`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.