elasticsearch-analysis-ansj icon indicating copy to clipboard operation
elasticsearch-analysis-ansj copied to clipboard

特殊符号分词粘连问题

Open tangwang opened this issue 6 months ago • 2 comments

特殊符号(减号)会跟后面的词粘连到一起,导致搜索减号后面的词,无法匹配:

GET /_cat/ansj?text=狗狗系列-柴犬积木&type=index_ansj { "name": "-柴", "nature": "nrf", "offe": 4, "realName": "-柴", "synonyms": null },

GET /_cat/ansj?text=狗狗系列-哈士奇犬&type=index_ansj { "name": "-哈士奇", "nature": "nrf", "offe": 4, "realName": "-哈士奇", "synonyms": null },

这样的话,如果搜索“柴犬”、“哈士奇”,就不能命中上面的句子。

请问有什么简单的办法解决吗? 或者有什么对应的配置?

tangwang avatar Jun 04 '25 13:06 tangwang

也不是所有情况都会粘连。 比如“GET /_cat/ansj?text=中国-是社会主义国家&type=index_ansj” 这里面“-”就会单独分出来成词。

但是恰好,我的应用场景,商品名称里面经常有减号,减号特别容易跟后面的分词粘连起来,但是有时候减号又是有用的,不想简单暴力的替换为空格。

tangwang avatar Jun 04 '25 14:06 tangwang

我的想法是,可以把-后面的词放在词典里,或者可以加一个token filter来处理-打头的

shi-yuan avatar Jun 28 '25 10:06 shi-yuan