elasticsearch不支持在url中查询cjk字符吗? 我需要在索引(old_merge_result)中查询术语北京(中文北京)中的字段(名称)。以下查询似乎无效。 ES会回归
GET / old_merge_result / tempid / _search?q = name:北京
ES会回来:
{
"statusCode": 400,
"error": "Bad Request",
"message": "child \"uri\" fails because [\"uri\" must be a valid uri]",
"validation": {
"source": "query",
"keys": [
"uri"
]
}
}
相反,通过以下查询将完全返回我想要的内容。
GET /old_merge_result/tempid/_search
{
"query": {
"term": {
"name": {
"value": "北京"
}
}
}
}
那么有没有办法通过url查询,如old_merge_result / tempid / _search?q = name:北京?
答案 0 :(得分:1)
需要使用percent-encoding/URL-encoding将cjk字符作为查询参数传递
对于上面的例子,它将是:
GET /old_merge_result/tempid/_search?q=name:%E5%8C%97%E4%BA%AC