你们知道我在哪里可以找到搜索引擎解析器设计图吗?我需要了解它如何处理用户输入.正在使用哪些功能/算法?条件.等等
它不一定是谷歌的.
更新了搜索引擎解析器的问题
您需要首先更好地了解搜索引擎.通常都有
1)网络爬虫,用于获取要添加到搜索数据空间的文档.这通常完全超出了你所谓的"搜索引擎"的范围.
2)一个解析器,它正在获取文档并将其拆分为可索引的文本片段.如果通常使用不同的文件格式,人类语言并且正在预处理文本,可能是一些固定的记录和流文本.语言算法(如词干分析器 - 搜索Porter Stemmer以获得简单的算法)也适用于此处.
3)索引器可能像每个文档的倒置单词列表一样简单,也可能像你想要的那样复杂,如果你想要像谷歌一样聪明.构建索引是成功搜索引擎真正神奇的部分.通常有多个排序算法放在一起.
4)具有可选查询语言的前端.这是谷歌真的很糟糕的地方,但正如你在googles上看到的那样,对于98%的人来说,这可能并不那么重要.但我真的很想念这个.
我想你要求(3)索引器.基本上,您可以在经典信息检索文献中找到两种不同的算法.向量空间模型和布尔搜索.后者很简单,只需检查搜索词是否在文档中并返回布尔值.每个搜索项可以给出相关概率.对于不同的搜索术语,您可以使用贝叶斯概率来总结相关性并添加返回排名最高的文档.矢量模型将文档视为其所有单词的向量,您可以在文档之间构建标量向量产品,以判断它们是否在一起 - 这是一个更复杂的理论.IR(信息检索)的父亲是Gerald Salton,你会发现他的名下有很多文学作品.
这是IR艺术的状态直到1999年(我在1998年写了关于usenet新闻搜索引擎的文凭论文).然后谷歌来了,所有的理论都进入了学术愚蠢和实际无可比拟的垃圾桶.
谷歌不是建立在主流的IR理论之上.阅读斯里兰甘给你的链接.它只是一个广告hock相关功能建立在许多不同的来源.除了白皮书营销blablabla之外,你在这方面找不到任何东西.这种算法是搜索引擎公司的商业秘密和资本.
对于简单的搜索引擎,请查看lucence库或dtsearch,它始终是我对可嵌入搜索引擎库的选择.
在开源世界中,关于IR技术的实例代码和可用信息并不多.他们中的大多数人都喜欢lucense,他们只是在实施最原始的操作.您必须购买书籍并前往大学图书馆才能获取研究文献.
作为文献,我建议从本书开始链接文本 替代文字http://ecx.images-amazon.com/images/I/41HKJYHTQDL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg