需要帮助..
Solr Stopwords不适用于像“an”中的“the”这样的常用词,但它适用于“柴油”等其他不常用词。
我可以看到停用词在solr服务器中列出。但是,solr搜索不会阻止它们。
{
"responseHeader":{
"status":0,
"QTime":1},
"wordSet":{
"initArgs":{"ignoreCase":"true"},
"initializedOn":"2016-06-16T12:13:20.69Z",
"managedList":["in",
"the"]}}
这是我的schema.xml。谁能告诉我可能是什么问题。
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.ManagedStopFilterFactory" managed="en" />
<filter class="solr.SynonymFilterFactory" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
答案 0 :(得分:0)
您有两个不同的Stop过滤工厂。只要留一个就能让事情变得更好。
然后,使用管理界面的“分析”屏幕查看短语在通过分析器堆栈时会发生什么。这应该会告诉你作品是保留还是放弃。
最后,您需要仔细检查您搜索的字段是您认为正在搜索的字段(而不是 - 例如 - 具有不同分析器的全部捕获字段)。启用调试应该向您显示。