ElasticSearch对每个符合条件的文档进行命中计数

8cdiaqws  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(265)

我越来越熟悉ElasticSearch查询,并试图为以下场景找到一个解决方案:

const { hits: { total: count } } = await esClient.search({
    index,
    body: {
      size: 0,
      track_total_hits: true,
      query: {
        constant_score: {
          filter: {
            bool: {
              should: [
                condition1,  
                condition2
              ]
            }
          }
        }
      }
    }
  })

如果有文件符合条件1 AND condition 2,则应计为2个符合项目。
任何提示都很感激。谢谢!
重要提示:这适用于ES版本6.8

a64a0gku

a64a0gku1#

这在Elasticsearch中是不可能的,您可以在Elasticsearch查询中有n个条件,但最终命中计数表示与Elasticsearch查询中的所有条件匹配的文档
你可以做的是在从Elasticsearch获得点击后,如果你有假设4个条件,你有100个来自Elasticsearch的点击,这只是意味着你有400个点击根据您的用例。

相关问题