搜索引擎背后的技术,说复杂也复杂,说简单也就那回事。云计算的搜索例子就挺能问题的。你输入个关键词,比如Cloud Computing
,后台立刻调度成千上万的服务器,还真不是一台两台机器能搞定的事儿。
Google 家的基础设施比较经典,MapReduce和Google File System就是标配。简单说,前者负责把数据分成一块块丢给不同的节点并行,后者像个大仓库,负责高效地存和取,响应也快。
要自己折腾的话,Elasticsearch就是个不错的选择。功能全、上手快,文档也还行,配合HDFS
用效果更稳。想试试别的方案,也可以看看FastDFS、MooseFS这些,适合不一样的使用场景。
写 Python 的朋友也别急,这个小型搜索引擎指南还挺实用,适合搞点轻量级的项目。想深入点的话,motorengine 也值得一试,就是文档比较分散,得耐心点翻。
如果你对分布式架构感兴趣,强烈建议多了解下Hadoop和去中心化文件系统,比如 MogileFS,设计思想蛮新潮的,稳定性也还不错。
,搜索引擎背后的那一堆技术,不用全掌握,挑自己项目需要的就好。嗯,实战中用得顺手最重要。