## 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 544546 2007-06-05 16:29:35Z doronc $
Author:
  Tim Jones (Nacimiento Software)

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.