用于Web排名和搜索引擎的C ++库

时间:2011-11-10 08:26:31

标签: c++ search-engine web-crawler information-retrieval pagerank

有人能介绍一些包含Web排名算法的库,例如PageRank,HITS吗? 谢谢

2 个答案:

答案 0 :(得分:1)

我猜您正在引用the original PageRank paper中发布的规范PageRank算法。现在人们使用“PageRank”来引用当前实际的Google搜索算法。

如果确实如此,那么PageRank实现并不难以找到和使用。通过Google搜索,您可以找到大量的实施方案。例如One in python

对于HITS算法,有pseudocode in wikipedia。还有Perl implementation

我也建议CLucene让你开始搞乱。

答案 1 :(得分:0)

除非你为谷歌工作,否则没有很多好方法可以找到他们的页面排名算法的具体细节......它会不时发生变化。维基百科概述了一些基础知识:

http://en.wikipedia.org/wiki/PageRank

其他人写冗长的文章:

http://www.smashingmagazine.com/2007/06/05/google-pagerank-what-do-we-really-know-about-it/

如果您对编写搜索引擎所涉及的各种技术感兴趣,则有几个主题。例如,有“网络爬行”以及如何编写访问网站并抓取其内容的程序......并确定何时再次访问网站以查看它们是否已更改:

http://en.wikipedia.org/wiki/Web_crawler

在您的机器上有大量数据进行分析和搜索后,要研究的主题区域称为“信息检索”(或“IR”):

http://en.wikipedia.org/wiki/Information_retrieval

这是一门相当新的科学,但它已经做了很多工作。维基百科有一个“免费搜索引擎软件”列表:

http://en.wikipedia.org/wiki/Category:Free_search_engine_software

我建议如果你是新手,那么最好先弄清楚如何使用像Lucene这样的东西在你拥有的网站上提供搜索框。然后挖掘并看看它是如何工作的。如果这对您很重要,它已被移植到C ++:

http://clucene.sourceforge.net/