TermQuery Document (Data API 17.6)
A term query matches one (or more) value(s) against one (or more)
document field(s). A document is considered a hit if one of the values
matches (exactly) with at least one of the given fields. The operator "is"
can only take one value, while "one_of" can take multiple. If multiple
fields are specified, they are combined using the OR operator.
Elastic only: If used with multiple fields,
the query is internally handled as a boolean OR of DisjointMaxQueries
(with the dismax matching a value against all fields). The dismax makes
sure that a document carrying a single term in multiple fields does not
get higher scores than a document matching multiple terms in multiple
fields. Example: (id="my_id")
query: { term_query: { fields: ["id"], operator: "is", values: ["my_id"] } }Example: (id IN ("my_id","other_id"))
query: { term_query: { fields: ["id"], operator: "one_of", values: ["my_id","other_id"] } }Example: (id=null)
query: { term_query: { fields: ["description"], operator: "is_null" } }Example: ((id IN ('generic', 'keyword')) OR (description IN ('generic', 'keyword'))
query: { term_query: { fields: ["id", "description"], operator: "one_of", values: ["generic","keyword"] } }
Property | Type | Constraints | Description |
---|---|---|---|
fields
|
[String] | itemNullable=false, mandatory=true, minItems=1, nullable=false | The document field(s), the value(s) are matched against, combined with the operator. |
operator
|
Enum {is, one_of, is_null, is_not_null, less, greater, not_in, neq} | mandatory=true, nullable=false | Returns the operator to use for the term query. |
values
|
[Object] | itemNullable=false | The values, the field(s) are compared against, combined with the operator. |
X
OCAPI versions 15.x and 16.x will be retired on March 31, 2021. For dates and more information, see the OCAPI versioning and deprecation policy and this Knowledge Article.