org.apache.lucene.search.suggest.document

## Class SuggestField

- java.lang.Object
- - org.apache.lucene.document.Field
  - - org.apache.lucene.search.suggest.document.SuggestField

- All Implemented Interfaces:
    IndexableField
  Direct Known Subclasses:
    ContextSuggestField

      public class SuggestField
      extends Field

  Field that indexes a string value and a weight as a weighted completion against a named suggester. Field is tokenized, not stored and stores documents, frequencies and positions. Field can be used to provide near real time document suggestions.

  Besides the usual `Analyzer`s, `CompletionAnalyzer` can be used to tune suggest field only parameters (e.g. preserving token separators, preserving position increments when converting the token stream to an automaton)

  Example indexing usage:

       document.add(new SuggestField(name, "suggestion", 4));

  To perform document suggestions based on the this field, use `SuggestIndexSearcher.suggest(CompletionQuery, int, boolean)`
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.document.Field

      `Field.Store`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FieldType` | `FIELD_TYPE` Default field type for suggest field

    - ### Fields inherited from class org.apache.lucene.document.Field

      `fieldsData, name, tokenStream, type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SuggestField(String name, String value, int weight)` Creates a `SuggestField`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TokenStream` | `tokenStream(Analyzer analyzer, TokenStream reuse)`
    `protected byte` | `type()` Returns a byte to denote the type of the field
    `protected CompletionTokenStream` | `wrapTokenStream(TokenStream stream)` Wraps a `stream` with a CompletionTokenStream.

    - ### Methods inherited from class org.apache.lucene.document.Field

      `binaryValue, fieldType, getCharSequenceValue, name, numericValue, readerValue, setBytesValue, setBytesValue, setByteValue, setDoubleValue, setFloatValue, setIntValue, setLongValue, setReaderValue, setShortValue, setStringValue, setTokenStream, stringValue, tokenStreamValue, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### FIELD_TYPE

          public static final FieldType FIELD_TYPE

      Default field type for suggest field

  - ### Constructor Detail

    - #### SuggestField

          public SuggestField(String name,
                              String value,
                              int weight)

      Creates a `SuggestField`
      Parameters:
        `name` - field name
        `value` - field value to get suggestions on
        `weight` - field weight
      Throws:
        `IllegalArgumentException` - if either the name or value is null, if value is an empty string, if the weight is negative, if value contains any reserved characters

  - ### Method Detail

    - #### tokenStream

          public TokenStream tokenStream(Analyzer analyzer,
                                         TokenStream reuse)

      Specified by:
        `tokenStream` in interface `IndexableField`
      Overrides:
        `tokenStream` in class `Field`

    - #### wrapTokenStream

          protected CompletionTokenStream wrapTokenStream(TokenStream stream)

      Wraps a `stream` with a CompletionTokenStream. Subclasses can override this method to change the indexing pipeline.

    - #### type

          protected byte type()

      Returns a byte to denote the type of the field

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