我对 ES 有点陌生,我不确定如何执行以下操作:
我使用仅包含几个“应该”参数的查询运行搜索。
然后还有一些聚合,例如百分位数、术语分桶等。
但是对于聚合,我只想要它,例如,聚合前 1000 个文档(我希望然后按分数对其进行评分和排序)。
这个想法是我想要特定术语的 aggs,但如果找不到足够的,则将其填充 - 但仅限于要聚合的特定最大数量。从文档看来,size
它返回的文档数量,而不是用于 aggs 的大小(我不需要命中,只返回 aggs)。
那么我该怎么做呢?是否有嵌套/后续查询?我必须pipeline
做点什么,例如搜索 1k 文档,然后 agg 吗?
如果文档可以首先按它被索引的时间戳进行排序,那将是理想的 - 这样用于“填充”的文档是最新的 - 但 AFAIK 不可能吗?
填补;填写(表格,资料?
“填写”意味着我有 100 个文档,用于指定一个指定的“应该”字段。然后我仍然需要其他 900 个文档来聚合所需的 1k 结果大小(以便将其填充到所需的数量)。因此,我没有使用过滤器,而是在文档中看到了“组合查询”,我认为使用“应该”参数就足够了。