该ElasticSearch文件上写着:
别名也可以映射到多个索引,并且在指定别名时,别名将自动扩展为别名索引。
但是,当我尝试为2个索引添加别名并向两个索引写入时,似乎都没有随文档更新。如果删除其中一个别名,它将正确地写入仍然存在的别名。
具有多个写别名失败:
$ curl -XGET 'http://localhost:9200/_aliases'
结果:
{ "dev_01": { "aliases": { "dev_read": {}, "dev_write": {} } }, "dev": { "aliases": { "dev_write": {} } } }
使用单个别名:
{ "dev_01": { "aliases": { "dev_read": {}, "dev_write": {} } }, "dev": { "aliases": {} } }
Elasticsearch是否支持写入多个索引?如果别名指向多个索引,是否为只读?
答案是不
所以看来我应该更深入地分析这声蜂鸣声,但是我的客户从es得到的响应是:
ElasticSearchIllegalArgumentException [Alias [dev_write]有多个与其关联的索引[[dev_01,dev]],无法执行单个索引操作
只是希望文档能更明确一些,因为它们让我有些困惑
乍一看似乎意味着您可以:
索引别名API允许对别名使用名称进行别名, 所有 API都会自动将别名转换为实际的索引名称。别名也可以映射到多个索引… 将一个别名与多个索引相关联只是几个添加操作…
索引别名API允许对别名使用名称进行别名, 所有 API都会自动将别名转换为实际的索引名称。别名也可以映射到多个索引…
将一个别名与多个索引相关联只是几个添加操作…
在页面的更下方,您将知道您无法执行以下操作:
索引指向一个以上索引的别名是错误的。