ElasticSearch
简称ES,基于Lucene全文检索引擎服务,支持分布式集群(数据横向扩展,分布式计算)
什么是全文检索:
全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。
全文检索(Full-Text Retrieval(检索))以文本作为检索对象,找出含有指定词汇的文本。全面、准确和快速是衡量全文检索系统的关键指标。
关于全文检索,我们要知道:
-
只处理文本。
-
不处理语义。
-
搜索时英文不区分大小写。
-
结果列表有相关度排序。
全文检索原理:
应用场景:
1.全文检索或者搜索服务
2.Nosql(ES中的数据单元为JSON)
3.构建ELK数据分析平台–完整的数据分析的解决方案
关键术语:
1.NRT(near real time)
接近实时–数据存储后一秒后才能检索到
Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒内)
2.Cluster(集群)
3.Node(节点):一个es服务
4.Index(索引):倒排序索引结构–索引到数据的一种映射关系
一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字。索引类似于关系型数据库中Database 的概念。在一个集群中,如果你想,可以定义任意多的索引。