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
}
]
}