elasticsearch - 弹性索引的通配符别名
问题描述
我有一个弹性索引transactions-internal
,并希望transactions-([a-z]+)-internal
使用别名将所有名称都指向该索引,所以所有请求都喜欢
GET /transactions-a-internal/_search
GET /transactions-b-internal/_search
GET /transactions-c-internal/_search
...
etc
应该给出相同的结果
GET /transactions-internal/_search
我试过了
POST /transactions-internal/_alias/transactions-*-internal
但它回来了
Invalid alias name [...] must not contain the following characters [ , \", *, \\, <, |, ,, >, /, ?]
有什么“聪明”的解决方案吗?我强烈希望在 Elastic 端共同配置它,而不是在其他任何地方。
解决方案
您快到了。反之亦然,即POST /<index>/_alias/<alias>
POST /transactions-*-internal/_alias/transactions-internal
更新:
如果您想反过来,则可以使用以下内容(请注意,别名不能包含通配符):
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "transactions-internal", "alias" : "transactions-a-internal" } },
{ "add" : { "index" : "transactions-internal", "alias" : "transactions-b-internal" } },
{ "add" : { "index" : "transactions-internal", "alias" : "transactions-c-internal" } }
]
}
推荐阅读
- c# - C#有存储多个对象并且仍然易于访问的好方法吗
- google-apps-script - Google Apps 脚本 Drive.file.insert 问题
- google-sheets - 倒数计时器从谷歌表中的开始和截止时间值的差异
- java - 如何在 Eclipse 上打印 Java 表情符号
- firebase - Firebase 函数日志记录不适用于不可调用函数
- c# - 动态 ImageButton ImageClickEventHandler 未触发
- java - 如何在 Java 中使用 Regex 提取 SQL FROM 子句中的表名?
- c - C中的函数泛化
- reactjs - React Hooks - 动态添加或删除输入字段时输入失去焦点
- javascript - 当他们选中复选框时尝试提取用户电子邮件