Class SortedDocValuesField

java.lang.Object
org.apache.lucene.document.Field
org.apache.lucene.document.SortedDocValuesField
All Implemented Interfaces:
IndexableField

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 Details

    • TYPE

      public static final FieldType TYPE
      Type for sorted bytes DocValues
  • Constructor Details

    • SortedDocValuesField

      public SortedDocValuesField(String name, BytesRef bytes)
      Create a new sorted DocValues field.
      Parameters:
      name - field name
      bytes - 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 between 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[]).

    • newSlowExactQuery

      public static Query newSlowExactQuery(String field, BytesRef value)
      Create a query for matching an exact 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[]).