我正在尝试使用不提供聚合结果的rest调用在弹性搜索中执行以下查询。但是如果我在elasticsearch浏览器中执行相同的查询,则会提供聚合结果。
查询:
{ "aggregations": { "by_salary": { "terms": { "field": "salary" } } } }
休息电话:
http://localhost:9200/tcx_transaction/_search?query={ "aggregations": { "by_salary": { "terms": { "field": "salary" } } } }
结果:
"aggregations": {
"by_salary": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "manager",
"doc_count": 39420
}
,
{
"key": "developer",
"doc_count": 13140
}
,
{
"key": "HR",
"doc_count": 4380
}
]
}
}
答案 0 :(得分:0)
您滥用REST界面。看一下parameters allowed for URI searching。 query
不是其中之一。 q
仅适用于非常special type of query。
正如提到的pickypg,你设置为query
的内容应该是HTTP POST主体的一部分。
答案 1 :(得分:0)
尝试安装" curl"然后,从shell:
curl -XPOST 'http://localhost:9200/tcx_transaction/_search' -d
'{ "aggregations": { "by_salary": { "terms": { "field": "salary" } } } }'