Solr中的Exact Match和StopwordsFilter可以混合使用

时间:2015-03-10 14:50:15

标签: solr tokenize stop-words exact-match

我改述了我之前的问题。希望有人能够提供帮助。

我目前有一个只进行精确匹配的solr实现。

因此,搜索短语" THE TEST"将仅匹配" THE TEST"

但是,我也实现了模式替换过滤器。

这是一个搜索短语" TOM AND JERRY"将与" TOM&杰里"

现在,我们要添加stopwordsfilter。我们想删除" THE"索引期间。

因此,搜索短语" TEST"将与" THE TEST"。

相匹配

我将标记生成器从KeywordTokenizerFactory更改为Whitespacetokenizerfactory。但是,搜索结果爆炸了。

虽然" TEST"现在与" THE TEST"匹配。它还符合" EVEL TEST"等等。

有没有办法避免测试短语与evel测试等匹配?

非常感谢帮助。感谢。

以下是我当前的索引分析器

 <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(&amp;)" replacement="AND"/>
 <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(@)" replacement="AT"/>
 <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="(['_\(\)])" replacement=" "/>
 <tokenizer class="solr.KeywordTokenizerFactory"/>
 <filter class="solr.LowerCaseFilterFactory"/>
 <filter class="solr.PatternReplaceFilterFactory" pattern="([~!#$%*+`?/|,.;:}{&lt;&gt;&quot;&#039;\^\=\]\[\\\-])" replacement="" replace="all"/>
 <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true" enablePositionIncrements="false"/>

0 个答案:

没有答案