浅谈使用ElasticSearch实现全文检索
IDEADATA-iDSP-Yeun 2016年5月15日
现如今,无论是互联网信息还是企业内部每天产生的信息,都在以指数级增长,对于企业内部,每天发生的大量数据,尤其是非结构化数据中,如何能快速查找到对企业内部有用的信息,成为每个公司开始关注的重点。
前段时间,笔者就接到类似的需求,某大型保险企业,希望能够将每天发生在企业内部的非结构化数据进行存储与检索,方便内部人员及时了解相关信息,提高部门间信息共享,提升工作效率。
这个其实是一个很典型的内容管理的相关需求,具体的技术选型和架构此处就不详细展开一一去讲,本文主要就如何使用ElasticSearch进行全文检索,满足用户需求来浅谈一二。
一、ElasticSearch是什么?
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。能够达到实时搜索,稳定,可靠,快速,安装使用方便,零配置和完全免费。
我们先说说ES的基本概念。
1、索引(Index)
ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema)。
索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。一个ES集群