【发布时间】:2015-03-13 23:23:50
【问题描述】:
我需要生成一个结构如下的查询字符串:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
....
}
}
},
"aggregations": {
"facets": {
"terms": {
"field": "subject"
}
}
}
}
我正在使用以下客户端进行搜索:
Client client = new TransportClient(my_settings_object)
.addTransportAddress(new InetSocketTransportAddress("localhost", "9200"));
SearchResponse sr = client.prepareSearch("my_index")
.setTypes("my_doctype")
.setQuery(query) ; // this is above query string built manually
.execute().actionGet();
return sr;
我收到以下错误:
QueryParsingException[[my_idex] No query registered for [query]]
这个SO帖子似乎解释了这个错误:
elasticsearch - No query registered for [query]]
基本上,我的客户端会自动插入顶级查询属性,使其看起来像:
{
query: {
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
....
}
}
},
"aggregations": {
"facets": {
"terms": {
"field": "subject"
}
}
}
}
}
如何防止我的客户端自动插入顶级查询属性?
感谢和问候。
【问题讨论】:
标签: elasticsearch