搜索引擎的原理并不复杂,预先建立好文档的分词倒排索引,然后通过用户的检索关键词在索引中命中文档并返回命中结果。现在主流的数据库系统本身也都有全文检索机制,但当文档数量规模超过千万之后,如果还能保证检索性能和文档更新的实时性就是一个相当有难度的技术挑战。实际上,搜索引擎作为大数据的一种综合应用系统,涉及到分布爬取、分布存储、分布索引,分布排序等各分布式架构。采集回的数据需要经过多级级别的存储加工,结构化和非结构化数据的抽取,无效数据清洗,最后才能进行索引。索引和检索系统还需要结合自然语言处理技术中的分词、查询解析、查询意图识别、粗命中结果评分,最后再通过精排算法给出查询结果。为了保证检索性能效率,还需要分布负载和预热缓存等机制。
实现一个文档数量数十亿而查询结果能毫秒级返回的系统是考验一个产品厂商综合技术实力的一块试金石。微猫企业信息搜索引擎不仅实现了上述所有功能,并且硬件成本相对各大搜索引擎技术厂商要低得多,这是因为书生早在2004年即开始搜索引擎技术的积累,至今已自研拥有近十项先进的搜索引擎技术子系统。