org.apache.lucene.document
Class DerefBytesDocValuesField

java.lang.Object
  extended by org.apache.lucene.document.Field
      extended by org.apache.lucene.document.DerefBytesDocValuesField
All Implemented Interfaces:
IndexableField

public class DerefBytesDocValuesField
extends Field

Field that stores a per-document BytesRef value. The values are stored indirectly, such that many documents sharing the same value all point to a single copy of the value, which is a good fit when the fields share values. If values are (mostly) unique it's better to use StraightBytesDocValuesField. Here's an example usage:

   document.add(new DerefBytesDocValuesField(name, new BytesRef("hello")));
 

If you also need to store the value, you should add a separate StoredField instance.

See Also:
DocValues

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.document.Field
Field.Index, Field.Store, Field.TermVector
 
Field Summary
static FieldType TYPE_FIXED_LEN
          Type for indirect bytes DocValues: all with the same length
static FieldType TYPE_VAR_LEN
          Type for indirect bytes DocValues: can have variable lengths
 
Fields inherited from class org.apache.lucene.document.Field
boost, fieldsData, name, tokenStream, type
 
Constructor Summary
DerefBytesDocValuesField(String name, BytesRef bytes)
          Create a new variable-length indirect DocValues field.
DerefBytesDocValuesField(String name, BytesRef bytes, boolean isFixedLength)
          Create a new fixed or variable length indirect DocValues field.
 
Method Summary
 
Methods inherited from class org.apache.lucene.document.Field
binaryValue, boost, fieldType, name, numericValue, readerValue, setBoost, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue, toString, translateFieldType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_FIXED_LEN

public static final FieldType TYPE_FIXED_LEN
Type for indirect bytes DocValues: all with the same length


TYPE_VAR_LEN

public static final FieldType TYPE_VAR_LEN
Type for indirect bytes DocValues: can have variable lengths

Constructor Detail

DerefBytesDocValuesField

public DerefBytesDocValuesField(String name,
                                BytesRef bytes)
Create a new variable-length indirect DocValues field.

This calls DerefBytesDocValuesField(name, bytes, false, meaning by default it allows for values of different lengths. If your values are all the same length, use that constructor instead.

Parameters:
name - field name
bytes - binary content
Throws:
IllegalArgumentException - if the field name is null

DerefBytesDocValuesField

public DerefBytesDocValuesField(String name,
                                BytesRef bytes,
                                boolean isFixedLength)
Create a new fixed or variable length indirect DocValues field.

Parameters:
name - field name
bytes - binary content
isFixedLength - true if all values have the same length.
Throws:
IllegalArgumentException - if the field name is null


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