gpt4 book ai didi

elasticsearch - Elasticsearch -滚动计算

转载 作者:行者123 更新时间:2023-12-02 23:39:09 26 4
gpt4 key购买 nike

我有一系列的JSON文档(例如{"type":"A", "value": 2}, {"type":"B"," value":3}, and {"type":"C","value":7}),并将其提供给 flex 搜索。

假设我要执行一个查询以使用"type": "A"对所有文档进行平均值

flex 搜索如何计算计数与Mongo会如何计算有什么区别?

是 flex 搜索:

  • 为所有这些类型自动创建“滚动计数”,并且
    将诸如“typeA_sum”,“typeA_count”,“typeA_avg”之类的值递增为新值
    数据输入了吗?如果这样的话,那将是甜蜜的,因为那不是
    实际上必须计算任何东西。
  • 是否只是创建一个
    在类型上建立索引,并在每次查询时实际计算总和
    跑了吗
  • 是否在后台执行#2(即预先计算)
    并只是更新一些缓存值,以便在查询运行时具有
    结果很快?
  • 最佳答案

    它最接近您的#2,但是结果被缓存,因此,如果结果在后续查询中很有用,将非常快。 Elasticsearch无法事先知道您将要运行的查询,因此#1是不可能的,而#3将是浪费的。

    但是,对于您的示例用例,您可能不需要两个查询,一个查询就足够了。例如,查看stats aggregation,它将返回计数,最小,最大,平均值和总和。将其与terms aggregation(也许还有missing aggregation)结合起来,将文件分组到type字段中,您将通过一次查询分别获得所有类型的计数和平均值(以及最小值,最大值,总和)。

    关于elasticsearch - Elasticsearch -滚动计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25792611/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com