根据Elasticsearch documentation here:上的指示,我试图通过使用_search / exists来确定查询是否以最有效的方式产生结果。
当我使用_search时,我得到一个有效的结果,但_search / exists具有相同的查询,返回“找不到处理程序”错误。
以下是一些显示问题的CURL:
映射:
curl -XPUT "http://localhost:9200/test-plugin-search/_mapping/testType" -d '{
"testType": {
"_all": {
"enabled": false
},
"_source": {
"enabled": true
},
"properties": {
"a": {
"type": "string",
"index": "not_analyzed",
"store": false
},
"b": {
"type": "double",
"index": "not_analyzed",
"store": false
},
"c": {
"type": "date",
"index": "not_analyzed",
"store": false
}
}
}
}'
搜索:
curl -XGET "http://localhost:9200/test-plugin-search/testType/_search/" -d'
{
"query": {
"match_all": {}
}
}'
搜索结果:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.0,
"hits": [
{
"_index": "test-plugin-search",
"_type": "testType",
"_id": "2K63Sp2LRm2OlaffuvMp4Q",
"_score": 1.0,
"_source": {
"a": "A",
"b": 1.23,
"c": "2014-12-26"
}
}
]
}
}
现在搜索+存在:
curl -XGET "http://localhost:9200/test-plugin-search/testType/_search/exists" -d'
{
"query": {
"match_all": { }
}
}'
结果:
No handler found for uri [/test-plugin-search/testType/_search/exists] and method [GET]
我不认为文档是错误的,所以我一定是犯了错误,但我找不到它。有人可以帮忙吗?