org.apache.lucene.search.function
Class IntFieldSource

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.IntFieldSource
All Implemented Interfaces:
Serializable

public class IntFieldSource
extends FieldCacheSource

Expert: obtains int field values from the FieldCache using getInts() 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
IntFieldSource(String field)
          Create a cached int field source with default string-to-int parser.
IntFieldSource(String field, FieldCache.IntParser parser)
          Create a cached int field source with a specific string-to-int 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

IntFieldSource

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


IntFieldSource

public IntFieldSource(String field,
                      FieldCache.IntParser parser)
Create a cached int field source with a specific string-to-int 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()


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