我知道这个问题很宽泛 … 也知道这不是一两句话能说清的 …
但是我还是想知道搜索引擎获得结果的原理 …
我有无数个爬虫爬下来一千万条也就是 10M 条的文本 …
现在我要从这 10M 条文本里面获得含有特定字符串的内容 …
分词或其他都不考虑 … 就是有 strpos 特定字符串的文本返回 …
搜索引擎是怎么做到的呢 ..?
一般的搜索引擎你输入关键字之后结果非常快就反馈出来了 …
但是在后台它是如何操作的 ..?
因为待搜索的内容是不确定的 … keyword 索引这种方法显然不可行 …
那么遍历存储的每一个文件 …?
这样的效率真的会比 MATCH AGAINST 高么 ..?
另外说哪怕没有任何记录搜索引擎也会很快提示 Not Found …
如果说一次扫过 10M 条记录 …
数据读取速度也和硬盘转速也是瓶颈 …
不可能有这么快的响应 …
或者是 1k 台服务器的集群 … 每台服务器负责搜索 10k 的数据 …
这也是需要时间的 …
但是现在哪怕在超高并发的情况下 …
搜索速度也不见减慢 …
到底搜索引擎是怎么实现返回搜索结果的呢 ..? – -#