自己动手写分布式搜索引擎
上QQ阅读APP看书,第一时间看更新

前言

搜索引擎成为人们获取信息不可或缺的工具。大数据技术的发展推动了多机集群的分布式搜索引擎技术走向成熟。普通的机器就可以搭建分布式搜索引擎。一些开源的分布式搜索引擎系统在数据存储、数据分析等方面的功能越来越强大。本书希望用通俗易懂的语言,让任何对分布式搜索引擎技术感兴趣的读者都能够有所收获。

本书的很多内容来源于搜索引擎、自然语言处理、金融等领域的项目开发和教学实践。在此感谢开源软件的开发者们,他们无私的工作丰富了本书的内容。

本书的第1章介绍开发分布式搜索引擎所需要的基本算法;第2章介绍如何从头开始自己动手写一个简单的全文检索软件包;第3章介绍Lucene的基本使用方法及其原理;第4章介绍使用JSP或者Struts 2开发搜索引擎用户界面,以及用户界面常用的Taglib;第5章介绍Solr实现分布式搜索引擎的解决方案——SolrCloud,以及它对SQL查询的支持;第6章介绍如何使用基于Lucene的ElasticSearch实现分布式搜索引擎。

鉴于ElasticSearch处于快速发展中,一些新版本的具体使用情况可以加入QQ群460405445,进行讨论。

本书配套的光盘中提供了相关的源代码,有的来源于猎兔搜索多年的开发经验积累,有的是经典算法实现。其中很多源代码都可以直接用于项目实践。

本书适合需要具体实现搜索引擎的程序员使用,对于信息检索等相关领域的研究人员也有一定的参考价值,同时猎兔搜索技术团队已经开发出以本书为基础的专门培训课程和商业软件。目前的一些分布式搜索引擎软件仍然有很多功能有待完善,作者真诚地希望通过本书把读者带入分布式搜索引擎开发的大门并认识更多的朋友。

感谢早期合著者、合作伙伴、员工、学员的支持,给我们提供了良好的工作基础。在将来,希望我们的分布式搜索引擎代码和技术能够像雨后春笋一样快速生长。

本书由罗刚、崔智杰编著,另外参与本书编写的还有张晓斐、石天盈、张继红、张进威、刘宇、何淑琴、任通通、高丹丹、徐友峰、孙宽,在此一并表示感谢。

编者