2017-07-17 39 views
0

我有我想要在elasticsearch中设置路由的密钥。我有一些按键有特殊字符(例如:&“) - 我该如何设置路由这样的键的例子:Elasticsearch:路由中的字符?

"A&B"

+0

当我搜索(在URI中使用的路由),I得到和误差: 原因: '请求[/ myindex/_search]包含无法识别的参数:[B“]'} 它被如下所示:/ partb-2017-06 - */_ search?routing =“A&B” – vkay

回答

0

您只需URL-encode路由参数值,因为&是一个保留。字符的URL是引入了新的参数。在你的情况下,routing参数数值为"A,然后引入了一种叫做B"另一个参数,ES不知道,因此为什么它抱怨。

/partb-2017-06-*/_search?routing="A&B" 
           ^
            | 
        this introduces a new parameter 

正确的做法是将"A&B"网址编码为%22A%26B%22,ES不会再抱怨。

/partb-2017-06-*/_search?routing=%22A%26B%22