- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你们知道我在哪里可以找到搜索引擎解析器设计图吗?
我需要了解它如何处理用户输入。正在使用哪些函数/算法?状况。等等。
它不一定是 Google 的。
更新了搜索引擎解析器的问题
最佳答案
您首先需要更好地了解搜索引擎。通常有
1) 网络爬虫,它可以获取您想要添加到搜索数据空间的文档。这通常完全超出您所说的“搜索引擎”的范围。
2) 一个解析器,它获取文档并将其拆分为可索引的文本片段。如果通常使用不同的文件格式、人类语言,并且正在对某些固定记录和流文本中的文本进行预处理。语言算法(如词干分析器 - 搜索 Porter Stemmer 以获得简单算法)也适用于此。
3) 一个索引器,它可能像每个文档的单词倒排列表一样简单,或者如果您想像谷歌一样聪明,则可以像您想要的那样复杂。建立索引是一个成功的搜索引擎真正神奇的部分。通常有多种排名算法组合在一起。
4) 具有可选查询语言的前端。这就是谷歌真正糟糕的地方,但正如你在谷歌的成功中看到的那样,它对 98% 的人来说可能并不那么重要。但我真的很想念这个。
我认为您是在要求 (3) 索引器。基本上,您可以在经典信息检索文献中找到 2 种不同类型的算法。矢量空间模型和 bool 搜索。后者很简单,只需检查搜索词是否在文档内并返回一个 bool 值。每个搜索词都可以被赋予一个相关概率。对于不同的搜索词,您可以使用贝叶斯概率来总结相关性并添加返回排名最高的文档。向量模型将文档视为其所有单词的向量,您可以在文档之间构建标量向量乘积来判断它们是否靠近 - 这是一个复杂得多的理论。 IR(信息检索)之父是 Gerald Salton,你会在他的名字下找到很多文献。
这是直到 1999 年的 IR 艺术状态(我在 1998 年写了关于 usenet 新闻搜索引擎的毕业论文)。然后谷歌来了,所有的理论都被扔进了学术愚蠢和实践无关的垃圾桶。
谷歌并非建立在主流的 IR 理论之上。阅读 Srirangan 为您提供的链接。它只是一个建立在许多不同来源上的临时相关功能。除了白皮书营销 blablabla 之外,您在这方面找不到任何东西。该算法是搜索引擎公司的商业 secret 和资本。
对于简单的搜索引擎,请查看 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
关于search-engine - 搜索引擎解析器流程图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2032421/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
在 Vim 中,我可以:set wrapscan,这样当我进行增量搜索时,无论第一个匹配项位于光标上方还是下方,光标都会跳转到第一个匹配项。 在 Emacs 中,如果我通过 C-s 开始搜索,如果第一
Elasticsearch 中的页面排名是如何工作的。一旦我们创建了一个索引,就会有一个底层智能层创建一个元数据存储库并提供结果以根据相关性进行查询。我已经创建了几个索引,我想知道在提供查询后结果是如
我们在单个节点上使用 Elasticsearch 对数据进行了索引。我们在后台运行了一个线程,用于使用最近的更改更新索引。 现在我们使用 Elasticsearch API 来运行搜索查询。 {
这突然停止工作,正在工作,但现在却没有: 如果我使用Twitter UI并转到: https://twitter.com/#!/search/%22social%20snap%22%20OR%20%
我在基类中声明了某些字段,并且我想仅为某些子类(实体)注册这些字段。 因此,我不想通过 @Field 注释基类中的这些字段,尽管只需以编程方式注册某些实体就足够了。 但是在基本实体中声明的字段未注册/
我的全文搜索索引有问题。我有一个字符字段大小为 30 的表。我在这个字段上创建了一个全文搜索索引,以便在这个不区分大小写的字段上进行快速搜索操作。现在,当我执行以下查询时:SELECT fieldna
我对SandCaSTLe的输出感到非常满意,但我也想在HTML输出中包含一些搜索功能,这可能吗? 最佳答案 SandCaSTLe帮助文件生成器的网站输出包含 index.aspx 和 index.ht
有没有人遇到过Apache Lucene的功能?我听说它甚至可以与Google Search Appliance(GSA)相提并论。我正在寻找两者之间的明确比较,如果可能的话? 在线上进行的比较非常模
在构建应用程序时,“查找”与“搜索”之间有什么有意义的区别吗?您是否将它们视为同义词? 我在询问应用程序UI和API设计的标签方面。 最佳答案 查找是搜索的完成。 如果您可能无法成功找到某些东西,则将
我想编写一个移动应用程序,它可以拍照并在谷歌图像中搜索类似的图片,然后显示结果。 但是,使用谷歌图像搜索我只能搜索文本字符串,而使用搜索 API 似乎无法搜索相似图片;此功能似乎只能通过网络界面使用。
当我从 Many2one 列表框中选择一个项目时,我想要进行高级搜索。例如,此功能是针对“res.groups”对象实现的。我在/addons 中找不到此功能。 更准确地说,我定义了我的对象 clas
我正在使用 Amazon CloudSearch 存储大量地点。每个地方在一周中的每一天都有开放时间和关闭时间。 我需要按当前时间检索地点。您如何建议对索引进行建模?我想通过创建 7 个文本索引来解决
我见过一些网站,当您执行搜索时会列出相关搜索,即它们会建议您可能感兴趣的其他搜索查询。 我想知道在中型网站中对此进行建模的最佳方法(没有足够的流量来依赖访问者统计数据来推断关系)。我最初的想法是存储每
如何从 Sitecore Lucene 搜索中获取格式化的 url?我创建了一个自定义索引,并在根目录下将其更新为/sitecore/content/websitename/home。 检索到搜索结果
我一直在努力寻找这个并且无法找到我想要的东西。 在我的状态行上,我想要计算当前文件中出现的匹配数。下面的 vim 命令返回我想要的。我需要返回的号码显示在我的状态行中。 :%s/^I^I//n vim
我们有自己的服务器与应用程序一起工作。我们开始使用不同的提供商进行托管,现在我们遇到了上述错误。 关于 同 页面,这有效: 但是这个不 我们无法弄清楚为什么会这样。您
题目地址:https://leetcode.com/problems/search-in-a-binary-search-tree/description/ 题目描述 Given the root
我正在使用很棒的插件 Leaflet.Control.Search为了在我的 map 上搜索标记(来自 geoJson 标记组)——效果很好。 我现在只有一个简单的问题:如何打开搜索结果标记的弹出窗口
我开发了一个允许创建新记录的扩展。 在列表模块中,在记录列表下,有搜索表单。 例如,它适用于 fe 用户,但不适用于我的自定义记录。 是否必须在我的 tca 中添加任何特殊配置才能使此表单与我的自定义
我是一名优秀的程序员,十分优秀!