构建一个非常小规模但多线程和分布式搜索引擎

时间:2014-07-24 17:15:45

标签: java multithreading search-engine

我们(5人小组)已经参加了本学期的上述项目。我们概述了搜索引擎的工作原理......我们从学习使用JAVA语言构建网络爬虫开始。我想知道在构建这个项目的过程中我需要哪些技术/编程语言。

  1. 是否有任何已经可用的API或包我可以使用 而不是硬编码每一个东西。就像有一个LUCENE package(基于java构建),提供有效的文本搜索 我猜我们可以使用的算法。
  2. 最合适的编程语言是什么, java / python / c ++还是其他什么?

1 个答案:

答案 0 :(得分:2)

这是我的两分钱。如果您的项目是要构建一个搜索引擎,请考虑通过Page和Brin(http://infolab.stanford.edu/~backrub/google.html)查看该论文。当然,谷歌目前还没有使用它,但基础仍然相似。如果您使用Lucene,您需要做的就是创建前端。但是,如果您打算自己制作所有内容,则需要考虑如何对页面进行排名,更新索引的频率以及如何存储它们。请注意,今天的网站不仅包含文字数据,还包含视频,推文,图片和其他形式的媒体。考虑为他们制定计划。与任何搜索引擎一样,您的优先级应该是快速查找,这取决于您的索引的存储和检索方式。另一个优先事项是以特定格式显示结果。考虑根据反向链接的数量,新鲜度等制定计划。