Class QueryRuleCriteria

java.lang.Object
co.elastic.clients.elasticsearch.query_rules.QueryRuleCriteria
All Implemented Interfaces:
JsonpSerializable

@JsonpDeserializable public class QueryRuleCriteria extends Object implements JsonpSerializable
See Also:
  • Field Details

  • Method Details

    • of

    • type

      public final QueryRuleCriteriaType type()
      Required - The type of criteria. The following criteria types are supported:
      • always: Matches all queries, regardless of input.
      • contains: Matches that contain this value anywhere in the field meet the criteria defined by the rule. Only applicable for string values.
      • exact: Only exact matches meet the criteria defined by the rule. Applicable for string or numerical values.
      • fuzzy: Exact matches or matches within the allowed Levenshtein Edit Distance meet the criteria defined by the rule. Only applicable for string values.
      • gt: Matches with a value greater than this value meet the criteria defined by the rule. Only applicable for numerical values.
      • gte: Matches with a value greater than or equal to this value meet the criteria defined by the rule. Only applicable for numerical values.
      • lt: Matches with a value less than this value meet the criteria defined by the rule. Only applicable for numerical values.
      • lte: Matches with a value less than or equal to this value meet the criteria defined by the rule. Only applicable for numerical values.
      • prefix: Matches that start with this value meet the criteria defined by the rule. Only applicable for string values.
      • suffix: Matches that end with this value meet the criteria defined by the rule. Only applicable for string values.

      API name: type

    • metadata

      @Nullable public final String metadata()
      The metadata field to match against. This metadata will be used to match against match_criteria sent in the rule. It is required for all criteria types except always.

      API name: metadata

    • values

      public final List<JsonData> values()
      The values to match against the metadata field. Only one value must match for the criteria to be met. It is required for all criteria types except always.

      API name: values

    • serialize

      public void serialize(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
      Serialize this object to JSON.
      Specified by:
      serialize in interface JsonpSerializable
    • serializeInternal

      protected void serializeInternal(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • setupQueryRuleCriteriaDeserializer

      protected static void setupQueryRuleCriteriaDeserializer(ObjectDeserializer<QueryRuleCriteria.Builder> op)