2

我在 solr 中进行了搜索,返回了大约 1500 个文档。这些文件基本上是产品。例如,我的数据集中有一堆女鞋。我的数据集有各种各样的女鞋,但也有一些非常相似的结果,例如,11 号女式耐克运动鞋、10 码女式耐克运动鞋等……现在,当我搜索女鞋时,solr 评分导致其中一组非常相似的结果冒泡到顶部。例如,一个特定鞋型的所有颜色都可能出现在顶部。它们绝对是不同的产品,但我更愿意获得更多种类的结果,而不是仅仅每种颜色的耐克运动鞋。

有没有人有什么建议?请注意,我不想消除所有单独着色的产品。当有人搜索蓝色女式耐克运动鞋时,我希望他们将蓝色模型作为最佳结果。我使用 dismax 查询作为我的主要查询。我想做的基本上是提高某种“与其他结果相比名称的独特性”因素。

4

1 回答 1

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 中为推文实现的,所以它应该适用于标题,但对于大文档来说性能不够(所以只有“短”字符串的抄袭检测)。对于长文本,您需要本地敏感散列:

http://en.wikipedia.org/wiki/Locality_sensitive_hashing

于 2011-02-25T21:56:52.773 回答