我可以在汇总之前过滤弹性搜索中的文档吗?还是可以在汇总作业中定义过滤查询,如果可以,如何?
答案 0 :(得分:1)
在将数据汇总到新的汇总索引之前,无法过滤数据。但是,您可以先定义一个filtered alias,然后再对该别名进行汇总来实现所需的功能。
说,您要汇总索引test
,但仅针对客户1、2和3。您可以创建以下过滤的别名:
POST /_aliases
{
"actions": [
{
"add": {
"index": "test",
"alias": "filtered-test",
"filter": { "terms": { "customer.id": [1, 2, 3] } }
}
}
]
}
然后您可以使用filtered-test
别名而不是test
索引进行汇总,这样只会汇总来自客户1、2和3的数据
PUT _rollup/job/sensor
{
"index_pattern": "filtered-test",
"rollup_index": "customer_rollup",
...
}
PS:值得注意的是you're not alone,但是Elastic员工出于各种原因特别决定不允许对汇总进行过滤(您可以在我链接的问题中阅读更多内容)。由于发生了big refactor of the roll up feature,该问题已重新开放。敬请期待...