1.老规矩新建core
将solr/solr-8.7.0/example/example-DIH/solr/solr/conf 拷贝到/Users/wangheng/Documents/work/solr/solr-8.7.0/server/solr/wh_core,其中wh_core是自己建的目录
2.启动solr
查看分词效果,显然这种分词不是我们需要的

3.先试试自带的中文分词器
solr/solr-8.7.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-8.7.0.jar 拷贝到solr/solr-8.7.0/server/lib
- 在solr/solr-8.7.0/server/solr/wh_core/conf/managed-schema添加中文分词器
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
5.重启服务查看分词效果
solr8.7.0 solr自带的中文分词

solr5.5 ik5.5分词器

虽然都没有拆出"羊"字 但ik效果更好 不仅包含自带分词器的所有结果,而且拆出的词更多,比如"羊羔"等
6.试试ik新版效果
下载地址:https://github.com/magese/ik-analyzer-solr
6.1将ik-analyzer-8.3.0拷贝到solr/solr-8.7.0/server/lib
6.2managed-schema配置分词器
<!-- ik中文分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
效果虽然没有拆出"羊"字,但总体效果更好

网友评论