介绍
提供了两种分词策略:ik_smart 和 ik_max_word
ik_smart
会将文本做最粗粒度的拆分
例如:中华人民共和国国歌 会被拆分为 中华人民共和国、国歌
测试:
get _analyze
{
"analyzer":"ik_smart",
"text":"中华人民共和国国歌"
}
执行结果:
{
"tokens" : [
{
"token" : "中华人民共和国",
"start_offset" : 0, // 起始偏移量
"end_offset" : 7, // 结束偏移量
"type" : "CN_WORD", // 分词类型,中文分词
"position" : 0 // 位置
},
{
"token" : "国歌",
"start_offset" : 7,
"end_offset" : 9,
"type" : "CN_WORD",
"position" : 1
}
]
}
ik_max_word
会将文本做最细粒度的拆分
例如:中华人民共和国国歌 会被拆分为 中华人民共和国、中华人民、中华、华人、人民共和国、人民、人、民、共和国、共和、和、国国、国歌,会穷尽各种可能的组合
测试:
get _analyze
{
"analyzer":"ik_max_word",
"text":"中华人民共和国国歌"
}
执行结果:
{
"tokens" : [
{
"token" : "中华人民共和国",
"start_offset" : 0,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 0
},
{
"token" : "中华人民",
"start_offset" : 0,
"end_offset" : 4,
"type" : "CN_WORD",
"position" : 1
},
{
"token" : "中华",
"start_offset" : 0,
"end_offset" : 2,
"type" : "CN_WORD",
"position" : 2
},
{
"token" : "华人",
"start_offset" : 1,
"end_offset" : 3,
"type" : "CN_WORD",
"position" : 3
},
{
"token" : "人民共和国",
"start_offset" : 2,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 4
},
{
"token" : "人民",
"start_offset" : 2,
"end_offset" : 4,
"type" : "CN_WORD",
"position" : 5
},
{
"token" : "共和国",
"start_offset" : 4,
"end_offset" : 7,
"type" : "CN_WORD",
"position" : 6
},
{
"token" : "共和",
"start_offset" : 4,
"end_offset" : 6,
"type" : "CN_WORD",
"position" : 7
},
{
"token" : "国",
"start_offset" : 6,
"end_offset" : 7,
"type" : "CN_CHAR",
"position" : 8
},
{
"token" : "国歌",
"start_offset" : 7,
"end_offset" : 9,
"type" : "CN_WORD",
"position" : 9
}
]
}