作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
现在,Microsoft 和 Google 会为您硬盘上的文件编制索引,以便您可以快速搜索它们的内容。
我想知道他们是怎么做到的?你能描述一下算法吗?
最佳答案
最简单的情况是倒排索引。
最基本的算法很简单:
细节是事情变得棘手的地方,但基本原理是相同的。
通过“规范化和过滤”这些词,我的意思是将所有内容转换为小写,删除常见的“停用词”(the、if、in、a 等),可能还有“词干提取”(删除动词和复数等)。
之后,您将获得该文件的唯一单词列表,您可以以此为基础构建索引。
有减少存储的优化,检查单词位置的技术(例如,文档中的“this”靠近“that”)。
但是,这是它完成的基本方式。
关于algorithm - 您如何为快速搜索编制索引文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/844277/
我是一名优秀的程序员,十分优秀!