上QQ阅读APP看书,第一时间看更新
第1章 搜索引擎
每天都有很多人通过聊天软件进行交流。理想的聊天软件应该能够自动在服务器中永久记录聊天记录,而且有强大的搜索功能。
当用户只输入个别词时,搜索引擎系统可以猜测用户的查询意图,把用户查询意图扩展成整句。
搜索界面可以用WebSocket登录方式重新实现,这样可以给出个性化的查询结果。例如,如果已经知道某个用户在使用Macbook,当他搜索“eclipse下载”时,则给他提供Mac版本的Eclipse下载地址。
本章首先概要地介绍搜索引擎的总体结构和基本模块,然后介绍其中最核心的模块:全文检索的基本原理。为了尽快普及搜索引擎开发技术,本章介绍的搜索引擎结构可以采用开源软件实现。为了通过实践来深入了解相关技术,本章会介绍相关的开发环境。本书所介绍的搜索技术使用Java编程语言实现,之所以没有采用性能可能会更好的C/C++,是因为Java代码的可维护性更好。C++开发团队的协作性更差,往往沦为手工作坊式的开发。另外,为了集中关注程序的基本逻辑,书中的Java代码去掉了一些错误和异常处理,实际可以运行的代码在本书附赠的资源中。在以后的各章中会深入探索搜索引擎的每个组成模块。