【问题标题】:PageRank in a inner search engine of a CMSCMS内部搜索引擎中的PageRank
【发布时间】:2009-09-12 11:06:35
【问题描述】:

我被要求完成我的最终学位项目,以构建自定义 SEO 内容管理系统;关键是该请求是为这个CMS的内部搜索引擎实现PageRank算法,通过PR对查询结果进行排序。 是否可以?我该如何开始呢? CMS 建立在 PHP 和 MySql(或 PostgreSql)之上。 非常感谢你。

【问题讨论】:

    标签: php mysql content-management-system seo pagerank


    【解决方案1】:

    维基百科上有一些关于Page Rank algorithm 的信息。这应该会让你忙几天。

    然后您可以将其与您的搜索算法合并以生成一组相关结果。

    祝你任务顺利。

    -马修

    【讨论】:

    • 非常感谢您的回答,我已经阅读了很多关于 PR 的文章,但我需要帮助才能用代码编写此内容。:)
    【解决方案2】:

    您可以创建某种数组然后排序,这里我使用了您的 $pageRank 算法的结果(您已经创建了,不是吗?)作为链接的关联键搜索结果对象。尽管您可以(根据您的系统性能)根据需要将整个结果集保存在数组中。

    $pageRankedResults = array("$pageRankAlgorithmResult" => "$referenceToSearchResultObject")
                         );
    echo "<ol>";
    foreach(asort($pageRankedResults) as $key => $value) {
    
    echo "<li>$value</li>";
    
    }
    echo "</ol>";
    

    【讨论】:

    • 非常感谢您的回答...我还没有创建公关算法...我不知道...实际上我已经在我的内部搜索引擎上实现了一个机制基于查询相关性的查询结果,假设搜索词在页面标题上,或者在

      等中的权重不同...但是我如何将此结果与公关分数?

    【解决方案3】:

    如果您完成了 PageRank 算法,您可能不想在每次搜索时都计算它。我会安排定期计算(每天?每周?任何最合适的),然后将 PR 存储在您的数据库中。

    然后,当您运行 SQL 查询时,只需按 page_rank 排序

    【讨论】:

    • 这不是一个坏主意;但是...大概您需要多个 page_rank 结果;搜索“磨刀石”需要的 page_rank 结果与搜索“住宿加早餐”的结果大不相同。 (我不知道他会期待什么样的搜索表达式。)
    • 据我所知——这是不完整的——PageRank(至少是原始迭代)与使用的搜索词无关。这只是对页面总体可信度的评级。
    • 非常感谢您的回答。事实上 PR 与查询词没有关系......所以我不知道如何在 PR 和查询相关性上对搜索结果进行排序......
    • 您需要找出非 PR 相关性和 PR 之间的某种关系来确定整体查询结果。如果你想达到 50/50,你可以将相关性分数从 10 分中取出,将你的 PR 分数从 10 分中取出,并将它们加在一起,最高的综合分数是你的最佳结果。或者,您获取与查询词匹配的所有结果,然后按 PR 对它们进行排序,从而使 PR 成为您的相关性得分。
    • 非常感谢您的回答...您对在 PHP 中实现 PageRank 算法有什么建议吗?
    【解决方案4】:

    您需要提出一种算法来确定页面的“重要性”。谷歌倾向于使用反向链接来确定这一点,但关键字的使用也是一个重要因素。在您的 CMS 上,是什么让页面变得重要?获取特定页面或搜索查询并从中制作用例。当您进行此搜索时应该出现哪个页面,为什么会出现?使用此信息来确定您的算法在对这些页面进行排名时应该寻找什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2014-07-27
      • 1970-01-01
      • 2014-04-26
      相关资源
      最近更新 更多