【发布时间】:2014-07-30 16:48:12
【问题描述】:
我正在尝试在弹性搜索中创建聚合结果,但过滤选项对我不起作用。
我可以在没有过滤器的情况下聚合数据,例如
select name , material ,sum(price)
from products group by name , material
curl -XGET 'http://localhost:9200/products/_search?pretty=true' -d'
{
"aggs" : {
"product" : {
"terms" : {
"field" : "name"
},
"aggs" : {
"material" : {
"terms" : {
"field" : "material"
},
"aggs" : {
"sum_price" : {
"sum" : {
"field" : "price"
}
}
}
}
}
}
},
"size" : 0
}'
但我在编写等效的 DSL 查询时遇到了问题:
select name , material ,sum(price)
from products
where material = "wood"
group by name , material
【问题讨论】:
-
将
query子句添加到您的请求中,其中包含术语查询
标签: sql elasticsearch lucene dsl equivalent