solr中有自带的中文分词,不过它将中文按一个一个字进行分词,这就导致搜索出的结果让人不满

solr6使用ansj做中文分词


这里以text_general字段为例,managed-schema中的配置是这样写的:

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

生成索引和查询使用的都是solr.StandardTokenizerFactory

官方文档有详细介绍:https://cwiki.apache.org/confluence/display/solr/Tokenizers





相关文章:

  • 2022-12-23
  • 2021-08-21
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2021-11-29
猜你喜欢
  • 2021-07-10
  • 2017-12-08
  • 2021-11-25
  • 2021-09-26
  • 2021-08-04
  • 2021-09-26
  • 2021-12-20
相关资源
相似解决方案