【问题标题】:Finding the number of documents that contain a term in elasticsearch在elasticsearch中查找包含术语的文档数
【发布时间】:2017-11-19 07:06:33
【问题描述】:

我有一个 Elasticsearch 索引,其中包含大约 25 亿个文档,在一个分析字段中包含大约 1800 万个不同的术语。是否可以在不搜索索引的情况下快速统计包含某个词的文档数量?

似乎 ES 会在分析字段时存储该信息,或者可能能够计算倒排索引的长度。如果有一种方法可以搜索多个术语并获取每个术语的文档频率,那就更好了。我想定期这样做数千次,但我不知道是否有有效的方法来做到这一点。

【问题讨论】:

    标签: search elasticsearch lucene information-retrieval


    【解决方案1】:

    您可以使用Count API 仅返回来自查询的计数,而不是完整的文档列表。

    至于 Elasticsearch 是否为您提供了一种无需查询的方法:我有理由相信 Elasticsearch 没有在索引之外存储该信息,因为这正是 lucene 索引已经具备的确实。这就是倒排索引,按术语索引的文档映射。 Lucene 的设计目的是使按术语高效查找文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2017-01-26
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多