搜索引擎解析器流程图

时间:2010-01-09 05:10:41

标签: search-engine

你们知道我在哪里可以找到搜索引擎解析器设计图吗? 我需要了解它如何处理用户输入。正在使用哪些功能/算法?条件。等

它不一定是Google的。

更新了搜索引擎解析器的问题

2 个答案:

答案 0 :(得分:6)

首先需要更好地了解搜索引擎。通常有

1)网络抓取工具,用于获取要添加到搜索数据空间的文档。这通常完全超出了你所谓的“搜索引擎”的范围。

2)一个解析器,它正在获取文档并将其拆分为可索引的文本片段。如果通常使用不同的文件格式,人类语言并且正在预处理文本,可能是一些固定的记录和流文本。语言算法(如词干分析器 - 搜索Porter Stemmer以获得简单的算法)也适用于此处。

3)索引器可能像每个文档的倒置单词列表一样简单,也可能像你想要的那样复杂,如果你想要像google一样聪明。构建索引是成功搜索引擎真正神奇的部分。通常会有多个排名算法放在一起。

4)带有可选查询语言的前端。这是谷歌真的很糟糕的地方,但正如你在googles上看到的那样,对于98%的人来说,这可能并不那么重要。但我真的很想念这个。

我认为你要求(3)索引器。基本上,您可以在经典信息检索文献中找到两种不同的算法。向量空间模型和布尔搜索。后者很简单,只需检查搜索词是否在文档中并返回布尔值。每个搜索项可以给出相关概率。对于不同的搜索术语,您可以使用贝叶斯概率来总结相关性并添加返回排名最高的文档。矢量模型将文档视为其所有单词的向量,您可以在文档之间构建标量向量产品,以判断它们是否在一起 - 这是一个更复杂的理论。 IR(信息检索)之父是Gerald Salton,你会发现他的名下有很多文学作品。

这是IR艺术的状态直到1999年(我在1998年写了关于usenet新闻搜索引擎的文凭论文)。然后谷歌来了,所有的理论都进入了学术愚蠢和实际无关的垃圾桶。

谷歌不是建立在主流的IR理论之上。阅读斯里兰甘给你的链接。它只是一个广告hock相关功能建立在许多不同的来源。除了白皮书营销blablabla之外,你在这方面找不到任何东西。这种算法是搜索引擎公司的商业秘密和资本。

对于简单的搜索引擎,请查看lucence库或dtsearch,它始终是我对可嵌入搜索引擎库的选择。

开源世界中没有关于IR技术的实例代码和可用信息。他们中的大多数人都喜欢lucense,他们只是在实施最原始的操作。你必须买书并去大学图书馆才能获得研究文献。

作为文献,我建议从本书开始link text alt text http://ecx.images-amazon.com/images/I/41HKJYHTQDL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

答案 1 :(得分:2)

大型超文本网络搜索引擎的剖析 谢尔盖布林和劳伦斯佩奇 http://infolab.stanford.edu/~backrub/google.html