OpenSearch/docs/reference/query-dsl/indices-query.asciidoc

39 lines
1.4 KiB
Plaintext

[[query-dsl-indices-query]]
=== Indices Query
The `indices` query is useful in cases where a search is executed across
multiple indices. It allows to specify a list of index names and an inner
query that is only executed for indices matching names on that list.
For other indices that are searched, but that don't match entries
on the list, the alternative `no_match_query` is exectuted.
[source,js]
--------------------------------------------------
{
"indices" : {
"indices" : ["index1", "index2"],
"query" : {
"term" : { "tag" : "wow" }
},
"no_match_query" : {
"term" : { "tag" : "kow" }
}
}
}
--------------------------------------------------
You can use the `index` field to provide a single index.
`no_match_query` can also have "string" value of `none` (to match no
documents), and `all` (to match all). Defaults to `all`.
`query` is mandatory, as well as `indices` (or `index`).
[TIP]
====================================================================
The fields order is important: if the `indices` are provided before `query`
or `no_match_query`, the related queries get parsed only against the indices
that they are going to be executed on. This is useful to avoid parsing queries
when it is not necessary and prevent potential mapping errors.
====================================================================