org.apache.lucene.search
Interface FieldCache

All Known Subinterfaces:
ExtendedFieldCache

public interface FieldCache

Expert: Maintains caches of term values.

Created: May 19, 2004 11:13:14 AM

Since:
lucene 1.4
Version:
$Id: FieldCache.java 695514 2008-09-15 15:42:11Z otis $

Nested Class Summary
static interface FieldCache.ByteParser
          Interface to parse bytes from document fields.
static interface FieldCache.FloatParser
          Interface to parse floats from document fields.
static interface FieldCache.IntParser
          Interface to parse ints from document fields.
static interface FieldCache.ShortParser
          Interface to parse shorts from document fields.
static class FieldCache.StringIndex
          Expert: Stores term text values and document ordering data.
 
Field Summary
static FieldCache DEFAULT
          Expert: The cache used internally by sorting and range query classes.
static int STRING_INDEX
          Indicator for StringIndex values in the cache.
 
Method Summary
 Object getAuto(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found reads field to see if it contains integers, floats or strings, and then calls one of the other methods in this class to get the values.
 byte[] getBytes(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as a single byte and returns an array of size reader.maxDoc() of the value each document has in the given field.
 byte[] getBytes(IndexReader reader, String field, FieldCache.ByteParser parser)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as bytes and returns an array of size reader.maxDoc() of the value each document has in the given field.
 Comparable[] getCustom(IndexReader reader, String field, SortComparator comparator)
          Checks the internal cache for an appropriate entry, and if none is found reads the terms out of field and calls the given SortComparator to get the sort values.
 float[] getFloats(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as floats and returns an array of size reader.maxDoc() of the value each document has in the given field.
 float[] getFloats(IndexReader reader, String field, FieldCache.FloatParser parser)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as floats and returns an array of size reader.maxDoc() of the value each document has in the given field.
 int[] getInts(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as integers and returns an array of size reader.maxDoc() of the value each document has in the given field.
 int[] getInts(IndexReader reader, String field, FieldCache.IntParser parser)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as integers and returns an array of size reader.maxDoc() of the value each document has in the given field.
 short[] getShorts(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as shorts and returns an array of size reader.maxDoc() of the value each document has in the given field.
 short[] getShorts(IndexReader reader, String field, FieldCache.ShortParser parser)
          Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as shorts and returns an array of size reader.maxDoc() of the value each document has in the given field.
 FieldCache.StringIndex getStringIndex(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found reads the term values in field and returns an array of them in natural order, along with an array telling which element in the term array each document uses.
 String[] getStrings(IndexReader reader, String field)
          Checks the internal cache for an appropriate entry, and if none is found, reads the term values in field and returns an array of size reader.maxDoc() containing the value each document has in the given field.
 

Field Detail

STRING_INDEX

static final int STRING_INDEX
Indicator for StringIndex values in the cache.

See Also:
Constant Field Values

DEFAULT

static final FieldCache DEFAULT
Expert: The cache used internally by sorting and range query classes.

Method Detail

getBytes

byte[] getBytes(IndexReader reader,
                String field)
                throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as a single byte and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the single byte values.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getBytes

byte[] getBytes(IndexReader reader,
                String field,
                FieldCache.ByteParser parser)
                throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as bytes and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the bytes.
parser - Computes byte for string values.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getShorts

short[] getShorts(IndexReader reader,
                  String field)
                  throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as shorts and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the shorts.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getShorts

short[] getShorts(IndexReader reader,
                  String field,
                  FieldCache.ShortParser parser)
                  throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as shorts and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the shorts.
parser - Computes short for string values.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getInts

int[] getInts(IndexReader reader,
              String field)
              throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as integers and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the integers.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getInts

int[] getInts(IndexReader reader,
              String field,
              FieldCache.IntParser parser)
              throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as integers and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the integers.
parser - Computes integer for string values.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getFloats

float[] getFloats(IndexReader reader,
                  String field)
                  throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as floats and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the floats.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getFloats

float[] getFloats(IndexReader reader,
                  String field,
                  FieldCache.FloatParser parser)
                  throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the terms in field as floats and returns an array of size reader.maxDoc() of the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the floats.
parser - Computes float for string values.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getStrings

String[] getStrings(IndexReader reader,
                    String field)
                    throws IOException
Checks the internal cache for an appropriate entry, and if none is found, reads the term values in field and returns an array of size reader.maxDoc() containing the value each document has in the given field.

Parameters:
reader - Used to get field values.
field - Which field contains the strings.
Returns:
The values in the given field for each document.
Throws:
IOException - If any error occurs.

getStringIndex

FieldCache.StringIndex getStringIndex(IndexReader reader,
                                      String field)
                                      throws IOException
Checks the internal cache for an appropriate entry, and if none is found reads the term values in field and returns an array of them in natural order, along with an array telling which element in the term array each document uses.

Parameters:
reader - Used to get field values.
field - Which field contains the strings.
Returns:
Array of terms and index into the array for each document.
Throws:
IOException - If any error occurs.

getAuto

Object getAuto(IndexReader reader,
               String field)
               throws IOException
Checks the internal cache for an appropriate entry, and if none is found reads field to see if it contains integers, floats or strings, and then calls one of the other methods in this class to get the values. For string values, a StringIndex is returned. After calling this method, there is an entry in the cache for both type AUTO and the actual found type.

Parameters:
reader - Used to get field values.
field - Which field contains the values.
Returns:
int[], float[] or StringIndex.
Throws:
IOException - If any error occurs.

getCustom

Comparable[] getCustom(IndexReader reader,
                       String field,
                       SortComparator comparator)
                       throws IOException
Checks the internal cache for an appropriate entry, and if none is found reads the terms out of field and calls the given SortComparator to get the sort values. A hit in the cache will happen if reader, field, and comparator are the same (using equals()) as a previous call to this method.

Parameters:
reader - Used to get field values.
field - Which field contains the values.
comparator - Used to convert terms into something to sort by.
Returns:
Array of sort objects, one for each document.
Throws:
IOException - If any error occurs.


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