我正在尝试构建一个具有智能自适应搜索引擎的应用程序(比如汽车)。如果我搜索4x4然后数据库将返回我拥有的所有4x4汽车(100辆汽车) - 但随着时间的推移,我开始检查汽车,喜欢它们,评论它们等等,搜索结果的顺序应该是不同的。这意味着1个月后搜索4x4时,我应该根据我之前与网站的交互获得相同的结果集。如果我主要喜欢和评论德国汽车,宝马应该是最重要的,陆地巡洋舰应该进一步下降。
此排名应基于我捕获用户互动的属性(例如:汽车来源,用户年龄,用户位置,汽车类型[4x4,轿跑车,两厢车],价格范围)。因此,对于我获得的每个汽车结果,我将根据它在上述5个属性上的表现来衡量它。
我打算将DB用作存储库,并在服务器上进行排名和思考。我的问题是,我应该使用什么样的算法来衡量/排名我的搜索结果?
感谢。
答案 0 :(得分:0)
你基本上说你已经有几种订购方案:
您所做的是构成一个新方案,称之为相关性:
按相关性排序。尝试权重W 1 ,W 2 ,...,直到找到有用的东西。
据我所知,搜索引擎就是按照这个原则工作的。长期以来,谷歌已经在相关性得分中提供了200个不同的输入,PageRank只有一个。这种方法的优点在于它可以让您微调所有内容的重要性(甚至可以单独针对每个查询),并且它可以让您添加额外的输入而不会搞砸所有内容。