Elasticsearch简单介绍

1.1什么是ES

是一个基于Lucence构建的开源、分布式、RESTful接口全文搜索引擎,也是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索。

1.2ES优势 / 作用

  • 横向可扩展性:只需要增加服务器做,做点配置,启动ES就可以并入集群;
  • 分片机制提供更好的分布式性**:同一个索引分成多个分片,这点类似于HDFS的块机制;分而治之的方式可以提升处理效率;
  • 高可用:提供复制机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍然可以照常运行,并且把服务器宕机丢失的数据信息复制恢复到其他可用节点上;
  • 使用简单:只需一条命令就可以下载文件,然后很快能搭建一个站内搜索引擎。

1.3ES应用场景

  • 大型分布式日志分析系统ELK**:ES(存储日志)+logstash(收集日志)+kibana(展示数据);
  • 大型电商搜索系统、网盘搜索引擎等。

1.4数据格式

Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档。为了方便大家理解,我们将 Elasticsearch 里存储文档数据和关系型数据库 MySQL 存储数据的概念进行一个类比

es 在日常常用的功能 es的作用是什么_redis

ES 里的 Index 可以看做一个库,而 Types 相当于表,Documents 则相当于表的行。这里 Types 的概念已经被逐渐弱化,Elasticsearch 6.X 中,一个 index 下已经只能包含一个

type,Elasticsearch 7.X 中, Type 的概念已经被删除了。

1.5倒排索引/正排索引

倒排索引 也常被称为反向索引,是一种索引方法 ,建立的是分词(Term)和文档(Document)之间的映射关系, 被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射关系 。在倒排索引中,数据是面向词(Term)而不是面向文档的。 通俗的讲倒排索引就好比书的目录,通过目录咱们可以准确的找到相应的数据。

(补充PS:正排索引:文档id到文档内容和单词的关联 倒排索引:单词到文档Id的关系 )

正排索引

文档1

中国,哈哈,测试

文档2

哈哈

文档3

测试,哈哈

倒排索引

中国

文档1

哈哈

文档1,文档2,文档3

测试

文档1,文档3