0

我正在改写我之前的问题。希望有人能够提供帮助。

我目前有一个仅进行完全匹配的 solr 实现。

因此,“THE TEST”的搜索词组将仅匹配“THE TEST”

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

因此“TOM AND JERRY”的搜索词组将与“TOM & JERRY”匹配。

现在,我们要添加停用词过滤器。我们想在索引期间删除“THE”。

因此,“TEST”的搜索短语将与“THE TEST”匹配。

我将分词器从 KeywordTokenizerFactory 更改为 Whitespacetokenizerfactory。然而,搜索结果炸了。

虽然“TEST”现在与“THE TEST”匹配。它还与“EVEL TEST”等相匹配。

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

非常感谢您的帮助。谢谢。

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

 <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"/>
4

0 回答 0