【发布时间】:2012-01-13 06:20:34
【问题描述】:
我有这个词干字段:
<fieldtype name="textes" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords-es.txt" enablePositionIncrements="true"/>
<filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
</analyzer>
</fieldtype>
搜索查询 alquileres (rents) 的预期结果将匹配 alquiler (rent)。但是,当我在 Solr 管理站点中转到“字段分析”,并检查索引值 alquiler 和查询值 alquileres 时,会发生以下情况:
- 当索引
alquiler时,它会变成alquil。 - 在查询
alquileres时,它会被提取为alquiler。
因此,搜索单词的复数形式 (alquileres) 的简单情况不会匹配其单数形式 (alquiler)。
不应该将索引和查询都提取到同一个词干(alquiler 或alquil)吗?这是算法的限制还是我的误解/错误配置?
【问题讨论】:
标签: solr stemming porter-stemmer