问题描述
我正在尝试将所有文档放在一个分片中。
此查询返回我在Elasticsearch集群中拥有的所有文档,而不只是ID为254b2796-9be4-4704-b756-6fe2e3e80f36
的分片中的文档
GET /mortgages/_search?routing=254b2796-9be4-4704-b756-6fe2e3e80f36
另一方面,此查询仅返回分片254b2796-9be4-4704-b756-6fe2e3e80f36
GET /mortgages/_search
{
"query": {
"terms": {
"_routing": [ "254b2796-9be4-4704-b756-6fe2e3e80f36" ]
}
}
}
从文档(https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-routing-field.html)来看,这两个查询似乎都有效。为什么第一个查询不起作用,而第二个查询却起作用?
谢谢
解决方法
尝试将第一个查询HTTP方法从GET
替换为POST
,存在一些ES API问题,该问题不适用于带有请求参数而不是请求正文的GET
方法GET
中的请求有效。