0

我被要求对 Solr 作为商业搜索引擎的替代品进行评估。

该应用程序现在有一种非常特殊的方式来使用称为“桶”的东西对结果进行排序。

我将尝试用一些细节来解释:

在界面中,它们有 2 个字段:“what”和“where”。

这两个字段实际上都是字段集(what = 类别、名称、联系信息……以及 where= 国家、州、地区、城市……),因此 Solr 的复制字段功能立即浮现在脑海中。现在根据生成的实际匹配字段,结果应该最终出现在特定的存储桶中。特别是第一个存储桶包含与类别字段完全匹配的所有结果文档,在第二个存储桶中,所有名称完全匹配,第三个部分匹配类别,第四个部分匹配名称,第五个匹配联系信息等等......然后在每个第一层存储桶中,所有结果都根据匹配的位置放置在第二层存储桶中:城市,然后是地区,然后是省等等。更复杂的是,还有一个第三层桶,其中根据排名字段的值放置结果:排名字段中值为 1 的所有文档都放在桶 1 中,依此类推。最后结果应该在第三层桶中随机化......

除此之外,他们显然希望支持构面和分页。

我为这封长邮件道歉,但我将不胜感激反馈和/或建议。

我知道这是一个非常特殊的问题,但指出我正确方向的一切都是有帮助的。

干杯,汤姆

4

1 回答 1

1

听起来应用程序正在使用这种复杂的排序算法作为相关性的代理。Solr 使用评分来进行这种类型的排序,并为您提供了许多控制评分方程的方法。

例如,您可以将词组匹配的排名高于关键字匹配,赋予某些字段更高的权重等。您甚至可以编写自己的自定义代码并相当容易地将其插入。

您可能无法使用这种方法复制当前应用程序的确切顺序,但这不一定是坏事。

于 2010-06-08T19:48:35.160 回答