我在solr中搜索了大约1500个文档。这些文件基本上都是产品。例如,我的数据集中有一堆女鞋。我的数据集有各种各样的女鞋,但它也有一些非常相似的结果,例如11号女子运动员,10号女子运动员等......现在,当我搜索女鞋时,solr得分导致这些结果中的某一组气泡到顶部,这些结果都非常相似。例如,一个特定鞋型的所有颜色都可能出现在顶部。它们绝对是不同的产品,但我希望获得比各种颜色的耐克教练鞋更多种类的结果。
有没有人有任何建议?注意,我不想消除所有单独颜色的产品。当有人搜索蓝色女子训练师时,我希望他们将蓝色模特作为最佳成绩。我正在使用dismax查询作为我的主要查询。我想做的是基本上提升某种“与其他结果相比的名称的唯一性”因素。
答案 0 :(得分:2)
您可以在颜色等字段上折叠:
http://wiki.apache.org/solr/FieldCollapsing
或者您可以在编制索引时使用近似重复检测:
http://wiki.apache.org/solr/Deduplication
http://karussell.wordpress.com/2010/12/23/detect-stolen-and-duplicate-tweets-with-solr/
后一种算法在jetwick中用于推文,所以它应该适用于标题,但对于大文档来说效果不够(所以只能检测“短”字符串的抄袭)。对于长文本,您需要本地敏感哈希: