org.apache.lucene.search.function
Class ByteFieldSource

java.lang.Object
  extended by org.apache.lucene.search.function.ValueSource
      extended by org.apache.lucene.search.function.FieldCacheSource
          extended by org.apache.lucene.search.function.ByteFieldSource
All Implemented Interfaces:
Serializable

public class ByteFieldSource
extends FieldCacheSource

Expert: obtains single byte field values from the FieldCache using getBytes() and makes those values available as other numeric types, casting as needed.

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.

, Serialized Form
WARNING: This API is experimental and might change in incompatible ways in the next release.

Constructor Summary
ByteFieldSource(String field)
          Create a cached byte field source with default string-to-byte parser.
ByteFieldSource(String field, FieldCache.ByteParser parser)
          Create a cached byte field source with a specific string-to-byte parser.
 
Method Summary
 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).
 String description()
          description of field, used in explain()
 DocValues getCachedFieldValues(FieldCache cache, 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

ByteFieldSource

public ByteFieldSource(String field)
Create a cached byte field source with default string-to-byte parser.


ByteFieldSource

public ByteFieldSource(String field,
                       FieldCache.ByteParser parser)
Create a cached byte field source with a specific string-to-byte parser.

Method Detail

description

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

Overrides:
description in class FieldCacheSource

getCachedFieldValues

public DocValues getCachedFieldValues(FieldCache cache,
                                      String field,
                                      IndexReader reader)
                               throws 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:
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()