我的文档中有两个字段:ACount
和 BCount
,我想编写一个范围查询来获取 sum(ACount + BCount) 的文档> 100
通过 Java API。我试图做类似的事情
BoolQueryBuilder.must(QueryBuilders.rangeQuery(...).gte(100))
,但找不到一个好的方法来做到这一点。有谁知道该怎么做吗?
最佳答案
您需要为此使用无痛脚本。
{
"query": {
"bool": {
"filter": [
{
"script": {
"script": {
"source": "(doc['ACount'].value + doc['BCount'].value) > params.count",
"params": {
"count": 100
}
}
}
}
]
}
}
}
您可以使用java客户端生成上述查询。
关于java - 如何在Java API中Elasticsearch范围查询两个字段的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56226381/