public abstract class

FieldCacheSource

extends ValueSource
java.lang.Object
   ↳ org.apache.lucene.search.function.ValueSource
     ↳ org.apache.lucene.search.function.FieldCacheSource
Known Direct Subclasses

Class Overview

Expert: A base class for ValueSource implementations that retrieve values for a single field from the FieldCache.

Fields used herein must be indexed (doesn't matter if these fields are stored or not).

It is assumed that each such indexed field is untokenized, or at least has a single token in a document. For documents with multiple tokens of the same field, behavior is undefined (It is likely that current code would use the value of one of these tokens, but this is not guaranteed).

Document with no tokens in this field are assigned the Zero value.

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.

NOTE: with the switch in 2.9 to segment-based searching, if getValues(IndexReader) 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.

Summary

Public Constructors
FieldCacheSource(String field)
Create a cached field source for the input field.
Public Methods
abstract boolean cachedFieldSourceEquals(FieldCacheSource other)
Check if equals to another FieldCacheSource, already knowing that cache and field are equal.
abstract 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()
final boolean equals(Object o)
Needed for possible caching of query results - used by equals(Object).
abstract DocValues getCachedFieldValues(FieldCache cache, String field, IndexReader reader)
Return cached DocValues for input field and reader.
final DocValues getValues(IndexReader reader)
Return the DocValues used by the function query.
final int hashCode()
Needed for possible caching of query results - used by hashCode().
[Expand]
Inherited Methods
From class org.apache.lucene.search.function.ValueSource
From class java.lang.Object

Public Constructors

public FieldCacheSource (String field)

Create a cached field source for the input field.

Public Methods

public abstract boolean cachedFieldSourceEquals (FieldCacheSource other)

Check if equals to another FieldCacheSource, already knowing that cache and field are equal.

public abstract 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).

See Also

public String description ()

description of field, used in explain()

public final boolean equals (Object o)

Needed for possible caching of query results - used by equals(Object).

public abstract DocValues getCachedFieldValues (FieldCache cache, String field, IndexReader reader)

Return cached DocValues for input field and reader.

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

public final DocValues getValues (IndexReader reader)

Return the DocValues used by the function query.

Parameters
reader the IndexReader used to read these values. If any caching is involved, that caching would also be IndexReader based.
Throws
IOException

public final int hashCode ()

Needed for possible caching of query results - used by hashCode().