我想使用带括号的字段名称,例如:distance(a)。 索引工作正常,但当我查询:
GET /search
{
"query":
{
"query_string":"distance(a):*"
}
}
我收到了错误。 在没有支架的领域,它的工作正常。 有人知道如何使用带括号的字段名称? 感谢
答案 0 :(得分:1)
好的,所以(
是Elasticsearch中的保留字符,要在查询中使用它,您必须将其转义。可以找到保留字符列表here。所以通常你可以用\
来逃避它,但为了让转义字符通过REST API,你必须用\\
双重转义它。
我刚在沙盒中测试了以下查询:
{
"query": {
"query_string": {
"query": "distance\\(a\\):*"
}
}
}