public class SortedDocValuesField extends Field
Field that stores
a per-document BytesRef
value, indexed for
sorting. Here's an example usage:
document.add(new SortedDocValuesField(name, new BytesRef("hello")));
If you also need to store the value, you should add a
separate StoredField
instance.
This value can be at most 32766 bytes long.
Field.Store
Modifier and Type | Field and Description |
---|---|
static FieldType |
TYPE
Type for sorted bytes DocValues
|
fieldsData, name, tokenStream, type
Constructor and Description |
---|
SortedDocValuesField(String name,
BytesRef bytes)
Create a new sorted DocValues field.
|
Modifier and Type | Method and Description |
---|---|
static Query |
newSlowExactQuery(String field,
BytesRef value)
Create a query for matching an exact
BytesRef value. |
static Query |
newSlowRangeQuery(String field,
BytesRef lowerValue,
BytesRef upperValue,
boolean lowerInclusive,
boolean upperInclusive)
Create a range query that matches all documents whose value is between
lowerValue and upperValue included. |
binaryValue, fieldType, getCharSequenceValue, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStream, tokenStreamValue, toString
public static final FieldType TYPE
public SortedDocValuesField(String name, BytesRef bytes)
name
- field namebytes
- binary contentIllegalArgumentException
- if the field name is nullpublic static Query newSlowRangeQuery(String field, BytesRef lowerValue, BytesRef upperValue, boolean lowerInclusive, boolean upperInclusive)
lowerValue
and upperValue
included.
You can have half-open ranges by setting lowerValue = null
or upperValue = null
.
NOTE: Such queries cannot efficiently advance to the next match,
which makes them slow if they are not ANDed with a selective query. As a
consequence, they are best used wrapped in an IndexOrDocValuesQuery
,
alongside a range query that executes on points, such as
BinaryPoint.newRangeQuery(java.lang.String, byte[], byte[])
.
public static Query newSlowExactQuery(String field, BytesRef value)
BytesRef
value.
NOTE: Such queries cannot efficiently advance to the next match,
which makes them slow if they are not ANDed with a selective query. As a
consequence, they are best used wrapped in an IndexOrDocValuesQuery
,
alongside a range query that executes on points, such as
BinaryPoint.newExactQuery(java.lang.String, byte[])
.
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.