如何检测何时将新的唯一术语插入到 Elasticsearch 中特定索引中特定字段的索引中?
How to detect when a new unique term has been inserted into an index on a specific field in a specific index in Elasticsearch?
我目前有一个 cron 作业正在查看一个名为 "ex.set" 的字段并执行这些任务:
- 对于每个索引,运行 字段上的术语聚合 "ex.set"
- 对于每个索引,获取每个现有别名
- 对于 "ex.set" 中索引中出现的每个唯一术语,如果它没有现有别名,则创建一个过滤别名
作业 运行 每十分钟一次,但大多数时候找不到任何东西。有没有一种方法或插件(与 2.3.x 兼容)会自动检测何时将新的唯一术语插入到特定索引中特定字段的索引中?然后如果有一个独特的项目触发在该索引上创建过滤别名?预先感谢您提供任何想法或解决方案。
是的,我相信您可以使用 Watcher plugin to do this. It has a default license valid for 30 days, after which some features are disabled,之后您需要一个有效的许可证才能使其再次完全运行。
基本思路是,您的前两个步骤可以放在一个 chain input as search inputs 中,它将收集数据。
然后,将现有别名与该聚合中的术语进行比较的附加步骤可以被视为 script condition where you do your magic of comparing the two sets. If your condition establishes that a new alias needs to be created then, in the action
part of the watch you can use a webhook action 在索引上调用创建别名 REST 命令。
我目前有一个 cron 作业正在查看一个名为 "ex.set" 的字段并执行这些任务:
- 对于每个索引,运行 字段上的术语聚合 "ex.set"
- 对于每个索引,获取每个现有别名
- 对于 "ex.set" 中索引中出现的每个唯一术语,如果它没有现有别名,则创建一个过滤别名
作业 运行 每十分钟一次,但大多数时候找不到任何东西。有没有一种方法或插件(与 2.3.x 兼容)会自动检测何时将新的唯一术语插入到特定索引中特定字段的索引中?然后如果有一个独特的项目触发在该索引上创建过滤别名?预先感谢您提供任何想法或解决方案。
是的,我相信您可以使用 Watcher plugin to do this. It has a default license valid for 30 days, after which some features are disabled,之后您需要一个有效的许可证才能使其再次完全运行。
基本思路是,您的前两个步骤可以放在一个 chain input as search inputs 中,它将收集数据。
然后,将现有别名与该聚合中的术语进行比较的附加步骤可以被视为 script condition where you do your magic of comparing the two sets. If your condition establishes that a new alias needs to be created then, in the action
part of the watch you can use a webhook action 在索引上调用创建别名 REST 命令。