# Multiple Indices（多个索引）

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/multi-index.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/multi-index.html)

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=4882847](http://www.apache.wiki/pages/viewpage.action?pageId=4882847)

贡献者 : [小瑶](/display/~chenyao)，[ApacheCN](/display/~apachecn)，[Apache中文网](/display/~apachechina)

大多数引用 **index parameter**（索引参数）的 **API** 都支持在 **multiple indices**（多个索引）上执行，使用简单的 **test1**，**test2**， **test3** 表示形式（或者所有的索引 **_all** ）。它还支持通配符，例如 : **`test*`** 或者**`*test`** 或者 **`te*t`** 或者 ***test*** ，并且可以 " **add**（ 添加）" (+)  和 "**remove**（删除）"(-) ，例如 :  **+test*** ， **-test3** 。

所有 **multi indices API**（多索引 **API**）支持以下的** url query string parameters**（**url **查询的字符串参数）: 

**ignore_unavailable**

控制是否忽略任何 **specified indices are unavailable**（指定且不可用的索引）， 包括 **don’t exist or closed indices**（不存在的索引或者关闭的索引）。可以指定为 **true** 或者 **false**。

**allow_no_indices**

控制是否失败，如果 **wildcard indices expressions**（通配符索引表达式）的结果是没有具体的索引。可以指定为 **true** 或者 **false**。例如，如果指定了通配符表达式 **foo***，并且没有以 **foo** 开头的索引，则根据此设置，请求将失败。此设置也适用于指定 **_all**，* 或者没有索引的情况。此设置也适用于 **aliases**（别名），以防别名指向 **closed index**（关闭的索引）。

**expand_wildcards**

控制通配符表达式 **expand to**（扩展到）什么样的具体索引。如果指定了 **open**，则通配符表达式将扩展为 **only open indices**（仅打开索引），如果指定 **closed**，则通配符表达式仅扩展为 **closed indices**（闭合索引）。也可以指定为这两个值（open，close）以扩展到所有的索引。

如果 **none** 被指定，则通配符扩展将被禁用，如果 **all** 被指定，通配符表达式将扩展到所有索引（这相当于指定 **open**，**closed**）。

上述参数的默认设置取决于所使用的 **api** 。

Note（注意）:

单一索引的 **API** ，例如 **[Document APIs](/display/Elasticsearch/Document+APIS)**（文档 **API）**和 **[single-index alias APIs](/pages/viewpage.action?pageId=4260479)**（单一索引别名 **APIs）**不支持 **multiple indices**（多个索引）。