我在弹性搜索中映射了一个字段,以便使用边缘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)时,它可以正常工作。有没有办法可以逃避映射时间的#?其他禁止的角色是什么?
答案 0 :(得分:1)
这是因为" # "在网址中需要url-encoded
例如:
POST myIndex/_analyze?field=google.title.%23t&text=text