我越来越熟悉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
1条答案
按热度按时间a64a0gku1#
这在Elasticsearch中是不可能的,您可以在Elasticsearch查询中有n个条件,但最终命中计数表示与Elasticsearch查询中的所有条件匹配的文档。
你可以做的是在从Elasticsearch获得点击后,如果你有假设4个条件,你有100个来自Elasticsearch的点击,这只是意味着你有400个点击根据您的用例。