org.apache.lucene.search.function

## Class FloatFieldSource

- java.lang.Object
- - org.apache.lucene.search.function.ValueSource
  - - org.apache.lucene.search.function.FieldCacheSource
    - - org.apache.lucene.search.function.FloatFieldSource

- All Implemented Interfaces:
    java.io.Serializable

      public class FloatFieldSource
      extends FieldCacheSource

  Expert: obtains float field values from the `FieldCache` using `getFloats()` and makes those values available as other numeric types, casting as needed.

  WARNING: The status of the search.function package is experimental. The APIs introduced here might change in the future and will not be supported anymore in such a case.

  See Also:
    `for requirements on the field.

    NOTE: with the switch in 2.9 to segment-based searching, if {@link #getValues} is invoked with a composite (multi-segment) reader, this can easily cause double RAM usage for the values in the FieldCache. It's best to switch your application to pass only atomic (single segment) readers to this API. Alternatively, for a short-term fix, you could wrap your ValueSource using {@link MultiValueSource}, which costs more CPU per lookup but will not consume double the FieldCache RAM.

    `, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FloatFieldSource(java.lang.String field)` Create a cached float field source with default string-to-float parser.
    `FloatFieldSource(java.lang.String field, FieldCache.FloatParser parser)` Create a cached float field source with a specific string-to-float parser.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `cachedFieldSourceEquals(FieldCacheSource o)` Check if equals to another `FieldCacheSource`, already knowing that cache and field are equal.
    `int` | `cachedFieldSourceHashCode()` Return a hash code of a `FieldCacheSource`, without the hash-codes of the field and the cache (those are taken care of elsewhere).
    `java.lang.String` | `description()` description of field, used in explain()
    `DocValues` | `getCachedFieldValues(FieldCache cache, java.lang.String field, IndexReader reader)` Return cached DocValues for input field and reader.

    - ### Methods inherited from class org.apache.lucene.search.function.FieldCacheSource

      `equals, getValues, hashCode`

    - ### Methods inherited from class org.apache.lucene.search.function.ValueSource

      `toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FloatFieldSource

          public FloatFieldSource(java.lang.String field)

      Create a cached float field source with default string-to-float parser.

    - #### FloatFieldSource

          public FloatFieldSource(java.lang.String field,
                                  FieldCache.FloatParser parser)

      Create a cached float field source with a specific string-to-float parser.

  - ### Method Detail

    - #### description

          public java.lang.String description()

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

    - #### getCachedFieldValues

          public DocValues getCachedFieldValues(FieldCache cache,
                                                java.lang.String field,
                                                IndexReader reader)
                                         throws java.io.IOException

      Description copied from class: `FieldCacheSource`
      Return cached DocValues for input field and reader.
      Specified by:
        `getCachedFieldValues` in class `FieldCacheSource`
      Parameters:
        `cache` - FieldCache so that values of a field are loaded once per reader (RAM allowing)
        `field` - Field for which values are required.
      Throws:
        `java.io.IOException`
      See Also:
        `ValueSource`

    - #### cachedFieldSourceEquals

          public boolean cachedFieldSourceEquals(FieldCacheSource o)

      Description copied from class: `FieldCacheSource`
      Check if equals to another `FieldCacheSource`, already knowing that cache and field are equal.
      Specified by:
        `cachedFieldSourceEquals` in class `FieldCacheSource`
      See Also:
        `Object.equals(java.lang.Object)`

    - #### cachedFieldSourceHashCode

          public int cachedFieldSourceHashCode()

      Description copied from class: `FieldCacheSource`
      Return a hash code of a `FieldCacheSource`, without the hash-codes of the field and the cache (those are taken care of elsewhere).
      Specified by:
        `cachedFieldSourceHashCode` in class `FieldCacheSource`
      See Also:
        `Object.hashCode()`

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