elasticsearch 如何快速查看当前输入 query 或文案在 es 中的分词结果?
推荐方式
es 提供了 _analyze
API 查看特定索引使用的分词情况,具体如下:
GET {index}/_analyze
{
"analyzer" : "ik_smart",
"text" : "es 中文分词器安装"
}
一般 es 的中文分词常用 ik 插件,通常索引侧使用 ik_max_word 全切的分析器,搜索侧使用 ik_smart 智能分词,如上示例是查看搜索侧针对 text
的分词结果,analyzer
参数指定选用哪种分析器。
如上示例输出结果如下:
{ "tokens": [ { "token": "es", "start_offset": 0, "end_offset": 2, "type": "CN_WORD", "position": 0 }, { "token": "中文", "start_offset": 3, "end_offset": 5, "type": "CN_WORD", "position": 1 }, { "token": "分词器", "start_offset": 5, "end_offset": 8, "type": "CN_WORD", "position": 2 }, { "token": "安装", "start_offset": 8, "end_offset": 10, "type": "CN_WORD", "position": 3 } ] }