排名/称量搜索结果

时间:2013-10-29 21:51:00

标签: algorithm search ranking weighted

我正在尝试构建一个具有智能自适应搜索引擎的应用程序(比如汽车)。如果我搜索4x4然后数据库将返回我拥有的所有4x4汽车(100辆汽车) - 但随着时间的推移,我开始检查汽车,喜欢它们,评论它们等等,搜索结果的顺序应该是不同的。这意味着1个月后搜索4x4时,我应该根据我之前与网站的交互获得相同的结果集。如果我主要喜欢和评论德国汽车,宝马应该是最重要的,陆地巡洋舰应该进一步下降。

此排名应基于我捕获用户互动的属性(例如:汽车来源,用户年龄,用户位置,汽车类型[4x4,轿跑车,两厢车],价格范围)。因此,对于我获得的每个汽车结果,我将根据它在上述5个属性上的表现来衡量它。

我打算将DB用作存储库,并在服务器上进行排名和思考。我的问题是,我应该使用什么样的算法来衡量/排名我的搜索结果?

感谢。

1 个答案:

答案 0 :(得分:0)

你基本上说你已经有几种订购方案:

  • 关键字搜索结果
  • 汽车类别的喜欢数量
  • 可能是其他人,如人气,某种形式的约会等。

您所做的是构成一个新方案,称之为相关性

  • 相关性= W 1 * keyword_score + W 2 * likes_score + ...

按相关性排序。尝试权重W 1 ,W 2 ,...,直到找到有用的东西。

据我所知,搜索引擎就是按照这个原则工作的。长期以来,谷歌已经在相关性得分中提供了200个不同的输入,PageRank只有一个。这种方法的优点在于它可以让您微调所有内容的重要性(甚至可以单独针对每个查询),并且它可以让您添加额外的输入而不会搞砸所有内容。