美文网首页
solr配置分词器

solr配置分词器

作者: George_Antonio | 来源:发表于2018-05-21 15:25 被阅读0次

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

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
  • name:域的名称
  • type:域的类型
  • indexed:是否索引
  • stored:是否存储
  • required:是否必须
  • multivalued:是否多值,solr允许一个field存储多个值,比如存储一个用户的好友id(多个)。
<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>
  • name:域的类型,对应field标签的type
  • class:域类型的solr类型,如果是TextField,就需要添加分词器
  • analyzer:分词器配置,index是创建索引时的分词器。query是搜素是使用的分词器,一般情况下是同一个。
  • tokenizer:指定分词器
  • filter:指定过滤器

配置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就行了。

相关文章

网友评论

      本文标题:solr配置分词器

      本文链接:https://www.haomeiwen.com/subject/zyjfjftx.html