gpt4 book ai didi

elasticsearch - ElasticSearch中无法解释的计数结果

转载 作者:行者123 更新时间:2023-12-02 23:05:29 24 4
gpt4 key购买 nike

我们有一个索引,其中包含241.047个项目。这些项目可以具有任意数量的子项目,这些子项目被索引为嵌套文档。子项总数为381.705。

映射中未同时设置include_in_parentinclude_in_root,这意味着每个嵌套文档都被索引为其他文档。这意味着索引中的文档总数为241.047 + 381.705 = 622.752。

当我运行以下Curl命令以查找索引中的文档数时,得到一个不同的数字,虽然相差不远,但是我想知道为什么它给了我一个不同的数字,却没有返回我期望的数字。

  • curl -XGET
    'http://localhost:9200/catawiki_development/_status?pretty'
    返回622.861

  • 紧接着,当我运行Curl命令获取根文档的数量时,得到的数字与运行 match_all查询并要求返回的文档数不同
  • curl -XGET 'http://localhost:9200/elasticsearch_development/_count?pretty'返回241.156
  • match_all查询返回正确的文档数241.047

  • 这些差异如何解释?

    最佳答案

    计数api请求的路径与正常搜索请求的路径有很大不同。实际上,这是一个快捷方式,仅允许获取与查询匹配的文档数,仅此而已。它与 search_type=count 的搜索也不同,后者实际上只是搜索的第一部分:将搜索请求广播到所有分片,但不减少/提取,因为我们只想返回匹配文档的总数。您还可以将构面等添加到搜索请求中(当也使用search_type=count时),这是使用count api无法做到的。

    就是说,您不会因为上述原因而有所不同,对此我并不感到惊讶,确切了解问题的所在将很高兴。最好的办法是能够使用少量文档和包括open an issuecurl recreation重现该问题,以便我们对其进行研究。

    同时,如果您对count api有疑问,我建议将搜索请求与search_type=count一起使用。保证返回与正常搜索相同数量的文档,只是因为它的逻辑完全相同。

    关于elasticsearch - ElasticSearch中无法解释的计数结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472373/

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