具有特殊字符#的映射字段失败

时间:2015-07-07 21:47:53

标签: elasticsearch

我在弹性搜索中映射了一个字段,以便使用边缘2gram标记器进行分析:

"google.title.#t": {
  "type": "string",
   "index_analyzer": "edge_2gram_body_analyzer",
   "search_analyzer": "standard"
}

当我得到映射时,它似乎很健康。我希望如此:

POST myIndex/_analyze?field=google.title.#t
{"test"}

返回令牌:

te, tes, test

然而,它没有,它返回"测试"相反:它默认为标准分析仪。

现在,当我从键中删除#(google.title.t)时,它可以正常工作。有没有办法可以逃避映射时间的#?其他禁止的角色是什么?

1 个答案:

答案 0 :(得分:1)

这是因为" "在网址中需要url-encoded
例如:

POST myIndex/_analyze?field=google.title.%23t&text=text