SOLR - 停用词 - 文件

时间:2015-10-01 17:54:41

标签: solr stop-words

场景:电子商务 - 产品搜索。

SOLR中是否有一项功能允许我们为每个产品添加STOP字或“忽略关键字”?

示例:

搜索字词:Maker“:

预期成果:ABC Coffee Maker,XYZ Juice Maker,MNO Label Maker,DEF Coffee Maker。

搜索词:咖啡壶“:

预期结果:ABC咖啡机,XYZ果汁机,DEF咖啡机。

当用户搜索“咖啡机”

时,不应显示MNO Label Maker

谢谢, Jitendra。

3 个答案:

答案 0 :(得分:0)

我知道如何做你想做的事的唯一方法是搜索一个短语并给它一个很好的推动力。以下是我自己的一个问题的例子:

desc_search:(20%^10.0 AND SMD^10.0 OR "20% SMD"^100.0)

请注意引号中的“20%SMD”。这告诉Solr搜索该确切的短语并提升包含它的文档。根据您的助推方案,100.0可能太多或太少,因此您需要进行实验。

您仍会在结果列表底部附近进行无关搜索。

我还没有注意到这种方法有任何速度或效率问题,但我想如果你让用户搜索一个超级常用词,如“the”,“and”等,你可以看到很多结果回来了,这可能会让事情变得缓慢。不过,我已经有多达10万个文档没有问题地回来了。

答案 1 :(得分:0)

如果所需的行为是为了向所有"制造商"但优先考虑"咖啡机"然后提升(如上所述的短语或带状疱疹)是要走的路。

如果您想要所有咖啡机和没有标签制作商进行搜索coffee maker,那么只需让您的客户端代码执行此操作:

  1. 运行短语搜索"coffee maker"
  2. 如果未找到任何结果,则可选择在显示结果之前运行正常的术语搜索。

答案 2 :(得分:0)

删除停用词

  • 将stopwords过滤器添加到schema.xml solr/collection1/conf/schema.xml

    中的fieldType

  • 自定义stopwords.txt列表solr/collection1/conf/stopwords.txt

  • 重启solr

停用词列表中的单词将被排除@索引时间