solr配置分词器

2018-05-21  本文已影响0人  George_Antonio

solrcore中有一个非常重要的配置文件:schema.xml。这里面定义了域以及域的类型。

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>   
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

配置IK分词器:

下载路径:https://code.google.com/archive/p/ik-analyzer/downloads

jar包配置:把解压后的jar包(IKAnalyzer2012FF_u1.jar)添加到solr/WEB-INF/lib目录下。

配置文件停用词配置:复制IKAnalyzer的配置文件(IKAnalyzer.cfg.xml)和自定义词典(mydict.dic)和停用词词典(ext_stopword.dic)到solr的solr/WEB-INF/classes目录下。

schema.xml配置:添加自定义的field Type,使用中文分词器。

<!-- IKAnalyzer-->
    <fieldType name="text_ik" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

索引时配置:在索引时 需要在schema.xml中定义Field, field标签下type的属性为text_ik。比如:

<!--IKAnalyzer Field-->
<field name="content_ik" type="text_ik" indexed="true" stored="true" />

重启tomcat就行了。

上一篇 下一篇

猜你喜欢

热点阅读