2013-08-28 19:24:34 -04:00
|
|
|
[[query-dsl-indices-query]]
|
2015-05-05 02:27:52 -04:00
|
|
|
== Indices Query
|
2013-08-28 19:24:34 -04:00
|
|
|
|
|
|
|
The `indices` query can be used when executed across multiple indices,
|
|
|
|
allowing to have a query that executes only when executed on an index
|
|
|
|
that matches a specific list of indices, and another query that executes
|
|
|
|
when it is executed on an index that does not match the listed indices.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"indices" : {
|
|
|
|
"indices" : ["index1", "index2"],
|
|
|
|
"query" : {
|
|
|
|
"term" : { "tag" : "wow" }
|
|
|
|
},
|
|
|
|
"no_match_query" : {
|
|
|
|
"term" : { "tag" : "kow" }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
|
2013-11-06 09:52:29 -05:00
|
|
|
You can use the `index` field to provide a single index.
|
|
|
|
|
2013-08-28 19:24:34 -04:00
|
|
|
`no_match_query` can also have "string" value of `none` (to match no
|
2013-11-06 09:52:29 -05:00
|
|
|
documents), and `all` (to match all). Defaults to `all`.
|
|
|
|
|
2013-11-14 09:53:13 -05:00
|
|
|
`query` is mandatory, as well as `indices` (or `index`).
|
2013-11-06 09:52:29 -05:00
|
|
|
|
2013-11-14 09:53:13 -05:00
|
|
|
[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.
|
2014-01-22 05:52:14 -05:00
|
|
|
===================================================================
|