【发布时间】:2015-05-23 17:34:46
【问题描述】:
我在使用 solr 字段类型时遇到问题,基本上我似乎无法让它为愚蠢的相似术语返回一个不错的分数。
这是一个例子: 一家名为“Bagelkingdom”的商店
我有两个记录——“Bagelkingdom”和“Bagel Kingdom”
当我搜索“Bagelkingdom”时,我得到 14 分,它也返回“Bagel Kingdom”,但只有 4 分!
当我对“Bagel Kingdom”进行反向搜索时,我得到 13 分,它再次返回“Bagelkingdom”,但这次得分为 0.16。
我不会在这里粘贴我所有的架构文件 - 我已经尝试了很多不同的过滤器,目前的过滤器并没有多大作用。
目前我的过滤器是;
<fieldType name="text_catenate" class="solr.TextField" positionIncrementGap="2" autoGeneratePhraseQueries="true">
<analyzer>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="1"
splitOnCaseChange="0"
splitOnNumerics="0"
preserveOriginal="1"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
【问题讨论】:
标签: solr filter schema tokenize