2017-03-28 77 views
0

我想要使用帶括號的字段名稱,例如:distance(a)。 索引工作很好,但是當我查詢:字段名稱慣例

GET /search 
{ 
    "query": 
     { 
     "query_string":"distance(a):*" 
     } 
} 

我得到了錯誤。 在沒有支架的領域它的工作正常。 有人知道如何使用字段名稱與括號? 謝謝

回答

1

好吧,所以(是Elasticsearch中的保留字符,並在查詢中使用它必須將其轉義。保留字符列表可以在here找到。所以通常你可以用\來逃避它,但是爲了逃脫角色能夠通過REST API獲得,你必須使用\\來逃脫它。

我剛剛測試了我的沙箱以下查詢:

{ 
    "query": { 
    "query_string": { 
     "query": "distance\\(a\\):*" 
    } 
    } 
}