是时候用 ES 拯救发际线啦

ik 分词问题

Elasticsearch | 作者 wengxuejie | 发布于2018年11月05日 | 阅读数:1643

我现在有一个需求,就是将尖头鞋 分词为尖头和鞋。但是ik_max_word分词器出来的规则为:
{
"tokens": [
{
"token": "尖头鞋",
"start_offset": 0,
"end_offset": 3,
"type": "CN_WORD",
"position": 0
},
{
"token": "尖头",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 1
},
{
"token": "鞋",
"start_offset": 2,
"end_offset": 3,
"type": "CN_WORD",
"position": 2
}
]
}
用ik_smart规则出来的分词:
{
"tokens": [
{
"token": "尖头鞋",
"start_offset": 0,
"end_offset": 3,
"type": "CN_WORD",
"position": 0
}
]
}
但是我只想出尖头和鞋的分词,不想要尖头鞋,这个有什么好办法吗
已邀请:

rochy - rochy_he

赞同来自:

看起来你自定义词典里面有 尖头鞋 这个词,
你将词典里面 尖头鞋 这个词语删除即可达到目的

laoyang360 - Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

除了楼上的删除词典,你需要细化的考虑一下你的需求。词典的一个设计就是为了解决分词需求的问题。
很显然尖头鞋是作为一个关键词组存在的,所以会被词典收录。
需要思考一下你的需求里边,为什么要把这个词组给去掉?
如果单纯这一个词组的话,可以考虑删除词典。其他的词组呢?
建议综合权衡考虑。

要回复问题请先登录注册