solr同义词的配置

格式编码为UTF-8
注:如下是基于solr-5.3.1进行的配置
schema.xml配置和同义词词库的配置
中文,这里采用mmseg4j作为分词器,同义词一般只要进行查询的配置就可以了,同义词的配置一般位于分词器的后面
下面是中文的同义词和分词的配置
<fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="my-ext-dic" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="my-ext-dic" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
如果是英文,大体同上面的配置,主要区别是分词器的选择
下面是英文的分词器和同义词的配置
<fieldType name="text_mmseg4j_simple" 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.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
词库目录的位置
分词词库是首先取的core或者collection的实例目录
单节点:
E:\BaiduYunDownload\solr\solrLocal\solr-5.3.1\server\solr\testCollection

[img]http://dl2.iteye.com/upload/attachment/0115/8363/8a9a7600-697f-3970-92f8-de8b9b376b2d.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0115/8365/9974fb7b-d390-3776-926d-decb107a8504.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0115/8367/433549e4-dfaa-3f17-9a15-223d4a5cbfea.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0115/8369/179cc665-8fef-3955-9b05-80cb1a369870.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0115/8371/645e08bc-8999-3e7f-9660-0745b2cdc7cb.png[/img]


参数1:synonyms:指向同义词库
ignoreCase:是否区分大小写,默认为false
expand:默认是true,决定是否扩充到所有同意义的,相同的同义词, 如果为false,则只有列表中的第一个生效
format:默认是solr,控制同义词怎样被解析,目前solr(SolrSynonymParser)和wordnet(WordnetSynonymParser),是被支持的,或者你也可以定义一个支持你自己的SynonymMap.Buider的子类的名字
analyzer:可选的,默认是WhitespaceTokenizerFactory

data/chars.dic是单字与语料中的频率,一般不用改动,一般不用改动,1.5版本中已经加到mmseg4j的jar里了,我们不需要关心它,当然你在词库目录放这个文件可能覆盖它。
data/units.dic是单字的单位,默认读jar包里的,你可以自定义覆盖它。
data/words.dic是词库文件,一行一词,当然你也可以使用自己的
data/wordsxxx.dic 目前应该支持多个词库文件,data目录(或你定义的目录)下读到"words"前缀且".dic"为后缀的文件。如data/words-my.dic

注:solr-5.5.0中,同义词库的配置需要配置绝对路径,如果要使用相对路径,需要通过修改分词源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值