首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Solr搜寻配置关联词synonyms

2014-05-25 
Solr搜索配置关联词synonyms在搜索中,往往需要用到关联词(近义词),比如,搜索 “联想” 品牌那么我们同时搜索

Solr搜索配置关联词synonyms

在搜索中,往往需要用到关联词(近义词),比如,搜索 “联想” 品牌那么我们同时搜索 “lenovo”等,solr为我们提供了近义词过滤器solr.SynonymFilterFactory。

配置搜索近义词很简单,只要在schema字段定义过滤器

01<fieldType?name="textMaxWord"?class="solr.TextField"?positionIncrementGap="100"?>02?<analyzer?type="index"> ? ?03?<tokenizer?class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory"?mode="max-word"?dicPath="./dic_lib/dic"/>04?<filter?class="solr.LowerCaseFilterFactory"/>05?<filter?class="solr.RemoveDuplicatesTokenFilterFactory"/>06?</analyzer>07?<analyzer?type="query"> ? ?08?<tokenizer?class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory"?mode="max-word"?dicPath="./dic_lib/dic"/>09?<filter?class="solr.SynonymFilterFactory"?synonyms="synonyms.txt"?ignoreCase="true"?expand="false"?/>10?<filter?class="solr.LowerCaseFilterFactory"/>11?<filter?class="solr.RemoveDuplicatesTokenFilterFactory"/>12?</analyzer>13</fieldType><span></span>

solr.SynonymFilterFactory配置中,synonyms是近义词配置文件
ignoreCase:为true,表示转化为小写匹配,及忽略大小写。
expand:涉及到synonyms.txt的配置

synonyms.txt配置一行为单位,建立关键词联系:

原1,原2,...=>目标1,目标2 ? (原可以多个,目标也可以多个)
即当输入搜索词原1的时候,最后以 目标1,目标2当个词搜索。
1.ideapad,ideacenter,lenovo =>联想
上面这种配置,那么搜索ideapad,ideacenter,lenovo的时候都用“联想”这个关键词搜索

2.联想?=>?ideapad,ideacenter,lenovo,联想
输入关键词联想的时候,则用ideapad,ideacenter,lenovo,联想 4个词搜索

3.还可以用配置文件简单用,隔开来做配置
联想,ideapad,ideacenter,lenovo
这时候,如果expand为true,等同于
ideapad,ideacenter,lenovo,联想 =>ideapad,ideacenter,lenovo,联想

如果expand为false
ideapad,ideacenter,lenovo?=>联想

理解这一点,配置其实真的很简单,我在诚交网易货产品搜索中,也是如此配置,就是搜索关联词是一个麻烦活。

热点排行