问题描述:
有一个ES实体为,文章标签tags,以字符串形式储存,如“上海,民宿,迪士尼,happy”为一条数据。在实现文章标签搜索排序(使用elasticsearch2.4.4+springbootdata+jpa)时,遇到问题,显示的标签 汉字部分被分词成了一个字一个字,英文还是一个单词。
因此寻找方法改变分词方法,有两种办法,第一种,使用中文分词器插件,使它分词起来更加友好,大部分词语能够正常被分词,但是一些不常用的词语,还是被分成了一个字一个字,比如“民宿”,被分词成了“民宿”、“民”、“宿”,这是不合理的,也不符合我们实际应用。因此,跟据人的使用的习惯,按照用户,主动划分的结果,作为分词结果,其实就是第二种,按照逗号分词,不要有其他操作。
一、用ik分词器分词
两种方法:
方法1:推荐方法
1、在springboot工程中建立实体类索引时,通过@Mapping注解,来自定义生成mapping。建立实体类时在@Document注解下面加入以下代码
@Mapping(mappin