org.hibernate.search.bridge

## Interface LuceneOptions

- All Known Implementing Classes:
    LuceneOptionsImpl

      public interface LuceneOptions

  A helper class for building Field objects and associating them to Documents. A wrapper class for Lucene parameters needed for indexing. The recommended approach to index is to use `addFieldToDocument(String, String, org.apache.lucene.document.Document)` or `addNumericFieldToDocument(String, Object, org.apache.lucene.document.Document)` as all the options declared by the user are transparently carried over. Compression is also provided transparently.

        String fieldValue = convertToString(value);
       luceneOptions.addFieldToDocument(name, fieldValue, document);
       // Numeric
       Double aDouble = ...
       luceneOptions.addNumericFieldToDocument(name, value, document);

  Author:
    Emmanuel Bernard, Sanne Grinovero, Hardy Ferentschik

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addFieldToDocument(String fieldName, String indexedString, Document document)` Add a new field with the name `fieldName` to the Lucene Document `document` using the value `indexedString`.
    `void` | `addNumericDocValuesFieldToDocument(String fieldName, Number numericValue, Document document)` Add a new numeric doc values field with the name `fieldName` to the Lucene Document `document` using the value `numericValue`.
    `void` | `addNumericFieldToDocument(String fieldName, Object numericValue, Document document)` Add a new NumericField with the name `fieldName` to the Lucene Document `document` using the value `numericValue`.
    `void` | `addSortedDocValuesFieldToDocument(String fieldName, String indexedString, Document document)` Add a new sorted doc values field with the name `fieldName` to the Lucene Document `document` using the value `indexedString`.
    `float` | `getBoost()` Deprecated. Index-time boosting will not be possible anymore starting from Lucene 7. You should use query-time boosting instead, for instance by calling `boostedTo(float)` when building queries with the Hibernate Search query DSL.
    `Field.Index` | `getIndex()` Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
    `Field.Store` | `getStore()` Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
    `Field.TermVector` | `getTermVector()` Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
    `String` | `indexNullAs()`
    `boolean` | `isCompressed()` Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.

- - ### Method Detail

    - #### addFieldToDocument

          void addFieldToDocument(String fieldName,
                                  String indexedString,
                                  Document document)

      Add a new field with the name `fieldName` to the Lucene Document `document` using the value `indexedString`. If the indexedString is null then the field is not added to the document. The field options are following the user declaration:
      - stored or not
      - compressed or not
      - what type of indexing strategy
      - what type of term vector strategy
      Parameters:
        `fieldName` - The field name
        `indexedString` - The value to index
        `document` - the document to which to add the new field

    - #### addNumericFieldToDocument

          void addNumericFieldToDocument(String fieldName,
                                         Object numericValue,
                                         Document document)

      Add a new NumericField with the name `fieldName` to the Lucene Document `document` using the value `numericValue`. If the value is not numeric then the field is not added to the document
      Parameters:
        `fieldName` - The name of the field
        `numericValue` - The numeric value, either an Int, Long, Float or Double
        `document` - the document to which to add the new field

    - #### addSortedDocValuesFieldToDocument

          void addSortedDocValuesFieldToDocument(String fieldName,
                                                 String indexedString,
                                                 Document document)

      Add a new sorted doc values field with the name `fieldName` to the Lucene Document `document` using the value `indexedString`.

      If the indexedString is null then the field is not added to the document.

      Parameters:
        `fieldName` - The field name
        `indexedString` - The value to index
        `document` - the document to which to add the new field

    - #### addNumericDocValuesFieldToDocument

          void addNumericDocValuesFieldToDocument(String fieldName,
                                                  Number numericValue,
                                                  Document document)

      Add a new numeric doc values field with the name `fieldName` to the Lucene Document `document` using the value `numericValue`.

      If the value is not numeric then the field is not added to the document

      Parameters:
        `fieldName` - The name of the field
        `numericValue` - The numeric value, either an Int, Long, Float or Double
        `document` - the document to which to add the new field

    - #### isCompressed

          boolean isCompressed()

      Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document. To use compression either use #addFieldToDocument or refer to Lucene documentation to implement your own compression strategy.
      Returns:
        the compression strategy declared by the user `true` if the field value is compressed, `false` otherwise.

    - #### getStore

          Field.Store getStore()

      Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document. `org.apache.lucene.document.Field.Store.YES` if the field is stored `org.apache.lucene.document.Field.Store.NO` otherwise. To determine if the field must be compressed, use `isCompressed()`. Starting from version 3.3, Store.COMPRESS is no longer returned, use `isCompressed()` To use compression either use #addFieldToDocument or refer to Lucene documentation to implement your own compression strategy.
      Returns:
        Returns the store strategy declared by the user

    - #### getIndex

          Field.Index getIndex()

      Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
      Returns:
        Returns the indexing strategy declared by the user

    - #### getTermVector

          Field.TermVector getTermVector()

      Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
      Returns:
        Returns the term vector strategy declared by the user

    - #### getBoost

          @Deprecated
          float getBoost()

      Deprecated. Index-time boosting will not be possible anymore starting from Lucene 7. You should use query-time boosting instead, for instance by calling `boostedTo(float)` when building queries with the Hibernate Search query DSL.
      Prefer the use of `addFieldToDocument(String, String, org.apache.lucene.document.Document)` over manually building your Field objects and adding them to the Document.
      Returns:
        Returns the boost factor declared by the user

    - #### indexNullAs

          String indexNullAs()

      Returns:
        Returns the string for indexing `null` values. `null` is returned in case no null token has been specified.

Copyright © 2006-2017 Red Hat, Inc. All Rights Reserved