基于ElasticSearch的分布式全文搜索系统
2018-07-23刘文清舒红平
电子科技 2018年8期
王 伟,魏 乐,刘文清,舒红平
(1.成都信息工程大学 计算机学院,四川 成都 610225;2.国家统计局统计信息技术与数据挖掘重点开放实验室,四川 成都 610103)
随着信息技术的发展,互联网的数据急剧增加,在海量复杂的数据中,如何高效便捷地获取信息[1]已成为当前互联网服务商亟待解决的问题,搜索系统的出现很好的解决了这一问题。搜索系统是指能对文本中特定关键字执行检索操作的软件系统,通常将能够进行全文检索的软件系统称为搜索引擎。但是,目前互联网上常见的各类搜索引擎架构以集中式为主,在容错性、访问效率、可扩展性、I/O方面存在瓶颈,越来越难以应对数据量飞速增加所带来的问题。
Lucene[2]属于Jakarta项目下的子项目,是由Apache基金会开源的搜索引擎工具包。它为程序开发人员提供了一套实用的工具,这套工具包含了相关性、索引、排序等搜索引擎基础功能,在此基础上用户可以搭建一个完整的搜索系统。在各个领域中,Lucene都被认为是目前为止性能最优、功能最完善、技术领先的搜索引擎库。但作为开发库而言,Lucene和真正的搜索引擎不能一概而论,使用Lucene搭建搜索引擎仍然要解决数据接入、获取、分析等方面的问题,而且Lucene没有提供对分布式的解决方案,在对大量数据进行并行处理时会比较麻烦。
ElasticSearch[3]是一款基于Lucene工具包的支持分布式的开源全文检索系统,在企业中非常受欢迎,维基百科(Wikipedia)、StackOverflow、Github等公司的全文检索、关键词高亮、实时键入搜索、自动纠错、相关内容推荐等功能都是基于ElasticSearch实现的。……
登录APP查看全文
