gpt4 book ai didi

search - 当短语包含停用词时,如何在 solr 中停止结果?

转载 作者:行者123 更新时间:2023-12-04 16:00:51 25 4
gpt4 key购买 nike

使用 Solr 搜索包含停用词的短语时遇到问题。 Solr 发送带有停用词的结果,这不是我的预期输出。

我在 stopwords.txt 中加了一个词“测试”文件。
schema.xml文件,我有这样的字段

<field name="searchword" type="text" indexed="true" stored="true"   />

我索引了一些数据,然后尝试在 solr 浏览器窗口中搜索如下: 搜索词:“测试”我没有得到结果。
然后我又给了一个短语,如 搜索词:“测试数据”我得到了结果。如何避免这种情况?如果它包含停用词 Solr 不应给出任何结果。当短语包含停用词时,如何在 solr 中停止结果?

以下是我正在使用的 fieldType:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" type="phrase"/>
</analyzer>
</fieldType>

当我给出包含停用词的短语时,我需要 Solr 的解决方案没有提供任何结果(测试)

最佳答案

“停止”词是搜索中不考虑的词;它不是“停止”或使结果无效的词。所以你解释的行为是正确的:这就是停用词应该做的。

我知道在 SOLR 中,无论何时您使用特定单词(也许有人有想法?),都无法“停止”返回结果形式。

我唯一能想到的是:
- 当您在查询中观察到这些术语时,不要将查询发送给 SOLR :)
- 在索引它们之前从文档中删除术语(例如使用 UpdateRequestProcessor)并使用 AND 查询,这样每当查询中出现未编入索引的术语时,您将获得零结果

关于search - 当短语包含停用词时,如何在 solr 中停止结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com