在Solr中配置中文分词器word

Solr是在schema.xml(managed-schema)中配置Analyzer。

注意:在Solr 6.1.0的conf文件夹下没有schema.xml这个文件,只有managed-schema,如果把managed-schema删掉,然后放schema.xml,那么运行时候会根据schema.xml生成managed-schema,如果这两个文件同时存在,则会只根据managed-schema的内容配置。

在没有配置word分词器之前,schema.xml里面默认用的是WhitespaceTokenizerFactory,就是根据空格来分词,对于中文来说则是将文本分为一个个单字,对一篇新闻分词后的结果如下:

在Solr中配置中文分词器word_第1张图片

下面配置word分词:

将schema.xml中的需要用到Word分词的fieldType中的:



替换为:

并移除下面的filter标签.

如text_general类型:

    
    
      
    
    
      
    
  

将word-1.3.jar放到lib文件夹下,重启solr,可以看到分词效果如下:

在Solr中配置中文分词器word_第2张图片

另外,在conf文件夹下面发现有很多txt文件:

在Solr中配置中文分词器word_第3张图片

这是用来设置停止词,或者是同义词的。

例如在利用word分词后,查询“下跌”,得到结果如下:

在Solr中配置中文分词器word_第4张图片
查询“下跌”,找到一片文档

查询“下降”是没有结果的:

在Solr中配置中文分词器word_第5张图片
查询“下降”则没有匹配的文档

在synonyms.txt配置:
下降=>下跌
或者设置为:
下降,下跌
前者表示为将下降转换为下跌,后者表示这些词可以相互替换。

另外,还要记得在相应的fieldType加上对同义词的支持:

  
    
        
    
    
      
       
    

重启solr之后再查询“下降”:

在Solr中配置中文分词器word_第6张图片
配置同义词转换后,查询“下降”则会返回跟“下跌”一样的结果

通过上面的例子可以看出,通过配置conf文件夹下面的文件,可以对solr进行很多个性化的设置,solr的功能还是很强大的。

word分词器:https://github.com/ysc/word

你可能感兴趣的:(在Solr中配置中文分词器word)