solr学习(二)配置IK支持中文分词同义词

总是有一段时间忘记****了。

项目中的solr使用的是4.10.3版本(额,相比现在来说版本的确有点老),这个版本有个问题是solr自身不支持同义词(不知道其他的版本怎么样),额也不能说不支持同义词,就是这个版本的solr他支持的同义词是这样的,比如我举个例子:如果设置为“电脑”和“计算机”是(互换)同义词的话,你搜索“电脑”这个词的确可以搜出Field值为“计算机”的数据,但是如果你的Field的值为“我在使用计算机”它就无法搜索出来,因为Solr自带的词库还是不支持中文分词的,而一般我们使用的需求是,如果我将“电脑”和“计算机”设置为(互换)同义词的话,我搜索“电脑”是要可以搜索出所有分词后含有“电脑”或者“计算机”的数据。

项目使用的是IK分词器,它比较老的一个版本是不支持分词后进行同义词的,必须重写SolrFactory。最终在schemal.xml文件中修改Ik分词器为:

solr学习(二)配置IK支持中文分词同义词

随后到同义词库中配置同义词即可:

同义词配置文件是solrhome下的collection中的conf中的:

solr学习(二)配置IK支持中文分词同义词

solr学习(二)配置IK支持中文分词同义词

比如在这里配置:

solr学习(二)配置IK支持中文分词同义词

这样在搜索的时候,搜索事情能够出来“申请”:

solr学习(二)配置IK支持中文分词同义词