场景: eCommerce -产品搜索。
SOLR中是否有允许我们为每个产品添加停用词或“要忽略的关键字”的功能?
示例:
搜索词::Maker":
预期结果: ABC咖啡机,XYZ果汁机,MNO标签机,DEF咖啡机。
搜索词::咖啡机“:
预期结果: ABC咖啡机,XYZ果汁机,DEF咖啡机。
当用户搜索"Coffee Maker“时,不应显示MNO Label Maker
谢谢,Jitendra。
发布于 2015-10-02 23:21:27
我知道如何做你想做的事情的唯一方法就是搜索一个短语,然后给它一个很好的提升。下面是我自己的一个查询中的一个示例:
desc_search:(20%^10.0 AND SMD^10.0 OR "20% SMD"^100.0)
请注意引号中的"20% SMD“。这将告诉Solr搜索该短语并提升包含该短语的文档。根据你的提升方案,100.0可能太多或太少,所以你需要进行实验。
你仍然可以在结果列表的底部找到不相关的搜索。
我还没有注意到这种方法的速度或效率问题,但我想如果你让用户搜索一个超级常见的单词,比如"the"," and“等,你会看到很多返回的结果,这可能会让事情变得慢一点。然而,我已经有多达10K个文档毫无问题地回来了。
发布于 2015-10-06 10:11:50
如果期望的行为是显示所有的“制造商”,但优先考虑“咖啡机”,那么boosting (上面的短语或带状疱疹)是可行的。
如果你想要搜索coffee maker中所有的咖啡机和没有标签生成器,那么只需要让你的客户端代码这样做:
在没有找到结果的情况下运行短语搜索,然后可以选择在显示结果之前运行
发布于 2016-06-25 06:55:29
删除停用词
solr/collection1/conf/stopwords.txt(自定义solr列表和solr命令行)
停用词列表中的单词将被排除在索引时间之外
https://stackoverflow.com/questions/32893862
复制相似问题