Class SortedSetDocValuesField
- All Implemented Interfaces:
IndexableField
BytesRef
values, indexed for
faceting,grouping,joining. Here's an example usage:
document.add(new SortedSetDocValuesField(name, new BytesRef("hello"))); document.add(new SortedSetDocValuesField(name, new BytesRef("world")));
If you also need to store the value, you should add a separate StoredField
instance.
Each value can be at most 32766 bytes long.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.document.Field
Field.Store
-
Field Summary
FieldsFields inherited from class org.apache.lucene.document.Field
fieldsData, name, tokenStream, type
-
Constructor Summary
ConstructorsConstructorDescriptionSortedSetDocValuesField
(String name, BytesRef bytes) Create a new sorted DocValues field. -
Method Summary
Modifier and TypeMethodDescriptionstatic Query
newSlowExactQuery
(String field, BytesRef value) Create a query for matching an exactBytesRef
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 betweenlowerValue
andupperValue
.static Query
newSlowSetQuery
(String field, Collection<BytesRef> values) Create a query matching any of the specified values.static Query
newSlowSetQuery
(String field, BytesRef... values) Deprecated, for removal: This API element is subject to removal in a future version.Methods inherited from class org.apache.lucene.document.Field
binaryValue, fieldType, getCharSequenceValue, invertableType, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, storedValue, stringValue, tokenStream, tokenStreamValue, toString
-
Field Details
-
TYPE
Type for sorted bytes DocValues
-
-
Constructor Details
-
SortedSetDocValuesField
Create a new sorted DocValues field.- Parameters:
name
- field namebytes
- binary content- Throws:
IllegalArgumentException
- if the field name is null
-
-
Method Details
-
newSlowRangeQuery
public static Query newSlowRangeQuery(String field, BytesRef lowerValue, BytesRef upperValue, boolean lowerInclusive, boolean upperInclusive) Create a range query that matches all documents whose value is betweenlowerValue
andupperValue
.This query also works with fields that have indexed
SortedDocValuesField
s.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 asBinaryPoint.newRangeQuery(java.lang.String, byte[], byte[])
. -
newSlowExactQuery
Create a query for matching an exactBytesRef
value.This query also works with fields that have indexed
SortedDocValuesField
s.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 asBinaryPoint.newExactQuery(java.lang.String, byte[])
. -
newSlowSetQuery
@Deprecated(forRemoval=true, since="9.10") public static Query newSlowSetQuery(String field, BytesRef... values) Deprecated, for removal: This API element is subject to removal in a future version.UsenewSlowSetQuery(String, Collection)
instead.Create a query matching any of the specified values.This query also works with fields that have indexed
SortedDocValuesField
s.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 set query that executes on postings, such asTermInSetQuery
. -
newSlowSetQuery
Create a query matching any of the specified values.This query also works with fields that have indexed
SortedDocValuesField
s.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 set query that executes on postings, such asTermInSetQuery
.
-
newSlowSetQuery(String, Collection)
instead.