V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kenneth
V2EX  ›  程序员

搜索引擎排序算法如何设计?

  •  
  •   kenneth · 2013-06-05 15:06:15 +08:00 · 3875 次点击
    这是一个创建于 4189 天前的主题,其中的信息可能已经有所发展或是发生改变。
    搜索引擎按照关键词,能够找到匹配的n个结果,如何给这N个结果一个好的排序规则?
    一般设计中要考虑的问题,或者算法有那些?
    求思路
    9 条回复    1970-01-01 08:00:00 +08:00
    xunyu
        1
    xunyu  
       2013-06-05 15:21:12 +08:00
    pagerank?
    taogogo
        2
    taogogo  
       2013-06-05 17:54:03 +08:00
    找影响规则呗,关键词在每个页面的权重;此关键词的此页面的点击次数;当前页面的权威性
    crazybubble
        3
    crazybubble  
       2013-06-06 09:44:29 +08:00
    基本上有2种理论来给搜索结果排位。一种是Vector Space Model, 简单来说就是把搜索的关键词(query)当成一个vector,你搜索到的每一个doc也当成一个vector,然后计算query和每一个doc之间的similarity,最相似的排在最前面。另一种是statistic language model,简单来说,对于搜索到的每个doc,计算出这个doc里所包含的词,能组成query的可能性,这个可能性越高的话,就代表这个doc越可能和query是相关的,所以排在前面。
    ant_sz
        4
    ant_sz  
       2013-06-06 12:09:28 +08:00
    搜索引擎的排序算法可不少,还不算上通过记录用户点击来进行反馈训练的各种机器学习的方法

    pagerank只能算是入门级的了,目前在google搜索排序当中的权重已经不大,况且google已经冻结了pagerank值的改变。

    如果想要有一个入门级的概览,《集体智慧编程》这本书的搜索一章提供了pagerank的实现+神经网络反馈评价的代码。也有一些对搜索技术进行概述的书籍可以参考。
    clippit
        5
    clippit  
       2013-06-06 12:16:55 +08:00
    Lucene的排名是这样算的: http://lucene.apache.org/core/4_3_0/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html

    Lucene结合了布尔模型和空间向量模型来计算相关性分数。权重方面还用到了TF-IDF的方法。
    martinbruce
        6
    martinbruce  
       2013-06-06 17:44:00 +08:00
    参考google两位创始人的专利算法:

    The Anatomy of a Large-Scale Hypertextual Web Search Engine

    http://infolab.stanford.edu/~backrub/google.html
    alafeizai
        7
    alafeizai  
       2013-06-06 22:50:36 +08:00
    网页相关性哈,分为文本相关性和非文本相关性,涉及到文本处理,query理解和重写,命中位置,时新性什么的,还有click model的影响,细节很多。
    darasion
        8
    darasion  
       2013-06-06 23:17:48 +08:00
    撸主醒醒。

    搜索引擎要都是只考一两个算法就做出来的话,那就不用那么多人费那么大劲还花那么多钱去建造了。
    Sunya
        9
    Sunya  
       2013-06-06 23:54:26 +08:00
    那 SEO 和黑帽都得失业了...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2735 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:55 · PVG 14:55 · LAX 22:55 · JFK 01:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.