Class CategorizeTextAggregation.Builder

All Implemented Interfaces:
WithJson<CategorizeTextAggregation.Builder>, ObjectBuilder<CategorizeTextAggregation>
Enclosing class:
CategorizeTextAggregation

public static class CategorizeTextAggregation.Builder
extends AggregationBase.AbstractBuilder<CategorizeTextAggregation.Builder>
implements ObjectBuilder<CategorizeTextAggregation>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • field

      public final CategorizeTextAggregation.Builder field​(java.lang.String value)
      Required - The semi-structured text field to categorize.

      API name: field

    • maxUniqueTokens

      public final CategorizeTextAggregation.Builder maxUniqueTokens​(@Nullable java.lang.Integer value)
      The maximum number of unique tokens at any position up to max_matched_tokens. Must be larger than 1. Smaller values use less memory and create fewer categories. Larger values will use more memory and create narrower categories. Max allowed value is 100.

      API name: max_unique_tokens

    • maxMatchedTokens

      public final CategorizeTextAggregation.Builder maxMatchedTokens​(@Nullable java.lang.Integer value)
      The maximum number of token positions to match on before attempting to merge categories. Larger values will use more memory and create narrower categories. Max allowed value is 100.

      API name: max_matched_tokens

    • similarityThreshold

      public final CategorizeTextAggregation.Builder similarityThreshold​(@Nullable java.lang.Integer value)
      The minimum percentage of tokens that must match for text to be added to the category bucket. Must be between 1 and 100. The larger the value the narrower the categories. Larger values will increase memory usage and create narrower categories.

      API name: similarity_threshold

    • categorizationFilters

      public final CategorizeTextAggregation.Builder categorizationFilters​(java.util.List<java.lang.String> list)
      This property expects an array of regular expressions. The expressions are used to filter out matching sequences from the categorization field values. You can use this functionality to fine tune the categorization by excluding sequences from consideration when categories are defined. For example, you can exclude SQL statements that appear in your log files. This property cannot be used at the same time as categorization_analyzer. If you only want to define simple regular expression filters that are applied prior to tokenization, setting this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, use the categorization_analyzer property instead and include the filters as pattern_replace character filters.

      API name: categorization_filters

      Adds all elements of list to categorizationFilters.

    • categorizationFilters

      public final CategorizeTextAggregation.Builder categorizationFilters​(java.lang.String value, java.lang.String... values)
      This property expects an array of regular expressions. The expressions are used to filter out matching sequences from the categorization field values. You can use this functionality to fine tune the categorization by excluding sequences from consideration when categories are defined. For example, you can exclude SQL statements that appear in your log files. This property cannot be used at the same time as categorization_analyzer. If you only want to define simple regular expression filters that are applied prior to tokenization, setting this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, use the categorization_analyzer property instead and include the filters as pattern_replace character filters.

      API name: categorization_filters

      Adds one or more values to categorizationFilters.

    • categorizationAnalyzer

      public final CategorizeTextAggregation.Builder categorizationAnalyzer​(@Nullable CategorizeTextAnalyzer value)
      The categorization analyzer specifies how the text is analyzed and tokenized before being categorized. The syntax is very similar to that used to define the analyzer in the Analyze endpoint. This property cannot be used at the same time as categorization_filters.

      API name: categorization_analyzer

    • categorizationAnalyzer

      public final CategorizeTextAggregation.Builder categorizationAnalyzer​(java.util.function.Function<CategorizeTextAnalyzer.Builder,​ObjectBuilder<CategorizeTextAnalyzer>> fn)
      The categorization analyzer specifies how the text is analyzed and tokenized before being categorized. The syntax is very similar to that used to define the analyzer in the Analyze endpoint. This property cannot be used at the same time as categorization_filters.

      API name: categorization_analyzer

    • shardSize

      public final CategorizeTextAggregation.Builder shardSize​(@Nullable java.lang.Integer value)
      The number of categorization buckets to return from each shard before merging all the results.

      API name: shard_size

    • size

      public final CategorizeTextAggregation.Builder size​(@Nullable java.lang.Integer value)
      The number of buckets to return.

      API name: size

    • minDocCount

      public final CategorizeTextAggregation.Builder minDocCount​(@Nullable java.lang.Integer value)
      The minimum number of documents for a bucket to be returned to the results.

      API name: min_doc_count

    • shardMinDocCount

      public final CategorizeTextAggregation.Builder shardMinDocCount​(@Nullable java.lang.Integer value)
      The minimum number of documents for a bucket to be returned from the shard before merging.

      API name: shard_min_doc_count

    • self

      Specified by:
      self in class AggregationBase.AbstractBuilder<CategorizeTextAggregation.Builder>
    • build

      public CategorizeTextAggregation build()
      Specified by:
      build in interface ObjectBuilder<CategorizeTextAggregation>
      Throws:
      java.lang.NullPointerException - if some of the required fields are null.