1:ES简介

ES是一个分布式,可扩展,近实时的高性能都多与数据分析引擎,提供了收集,分析,存储数据三大功能,主要特性 分布式,零配置,亦庄亦用,自动发现,索引自动分片,索引副本机制,RestFul风格接口,多数据源和自动搜索负载,ES基于java编写,内部使用Lucene做索引及搜索,通过进一步封装Lucene解决了Lucene内部的复杂性,对外提供一个rest形式的API,对开发人员很友好,让全文搜索更简单。

2:倒排索引

中文信息检索领域,有正排索引,倒排索引两种,下面分别介绍下索引,

ES功能模块架构图 es的功能_倒排索引

上面就是正排索引的,以网页或者文章的映射关系为Key,以分词的列表为Value.

ES功能模块架构图 es的功能_倒排索引_02

以上为倒排索引,以中文分词为key,以网页或者文章列表为value的结构。使用倒排索引查询则更改高效 直接定位到文章的位置,倒排索引中一般还会记录更多的信息,比如,词汇在网页中出现的位置,频率,和权重等信息。

3:词条(term) 词典(term Dictionary) 倒排表(Post List)

词条:索引里面最小的存储和查询单元,英文的话就是一个英文单词,中文的话一般是分词后的一个词组。

词典:又程做字典,是词条的集合。

倒排表:倒排表激励的是词出现在那些文档里面,出现的位置,和频率,倒排表的一条记录称为倒排项。

4:ES的特点及优势

     4.1:分布式实时存储,ES可将被索引文档中的每个字段存入索引,以便查询。

     4.2:实时分析的分布式所搜引擎,ES的索引可以拆成多个分片,每个分片有零或者多个副本,集群中的每个数据节点可以承载一个或者多个分片,并且协调和处理各种操作,负载和在平衡都是自动完成。

      4.3 高扩展型。