Elasticsearch详解与安装

Posted Doker 多克

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch详解与安装相关的知识,希望对你有一定的参考价值。

Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库——无论是开源还是私有,但它也仅仅只是一个库。为了充分发挥其功能,你需要使用 Java 并将 Lucene 直接集成到应用程序中。 更糟糕的是,您可能需要获得信息检索学位才能了解其工作原理,因为Lucene 非常复杂。

一、Elasticsearch 基本概念

1、索引(Index)

数据管理的顶层单位就叫做 Index(索引),相当于关系型数据库里的数据库的概念。另外,每个Index的名字必须是小写。

2、类型(type)

这个概念每个版本变动都比较大,ES5.X中一个index可以有多种type,6.X中一个index只能有一个type,7.X中要逐渐移除这个概念。type表示这个文档是该index中,哪一个类别的。如果非要和关系型数据库做个类比,可以想象成表。

3、文档(document)

文档就是一条JSON数据,类似于关系型数据库中的一行数据。

4、映射(mapping)

mapping定义了文档中,每个字段的类型等信息,类似于关系型数据库中的表结构

5、Shards:分片

当索引上的数据量太大的时候,我们通常会将一个索引上的数据进行水平拆分,拆分出来的每个数据库叫作一个分片。在一个多分片的索引中写入数据时,通过路由来确定具体写入那一个分片中,所以在创建索引时需要指定分片的数量,并且分片的数量一旦确定就不能更改。分片后的索引带来了规模上(数据水平切分)和性能上(并行执行)的提升。每个分片都是Luence中的一个索引文件,每个分片必须有一个主分片和零到多个副本分片。

6、倒排索引(Inverted Index)

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置

二、部署

1、部署环境要求

官网建议:

内存:64 GB 内存的机器是非常理想的, 但是32 GB 和16 GB 机器也是很常见的。少于8 GB 会适得其反(你最终需要很多很多的小机器),大于64 GB 的机器也会有问题。

硬盘:基于 SSD 的节点,查询和索引性能都有提升。如果你负担得起,SSD 是一个好的选择。

机器:中配或者高配机器更好。

JVM: 最好尽可能的使用最新版本的 JVM,Java 8 强烈优先选择于 Java 7

未完待续

以上是关于Elasticsearch详解与安装的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch插件一——-head插件安装详解

Elasticsearch详解与安装

ElasticSearch01_简介详解倒排索引安装es以及kibana检索es基本信息增删改查文档

ElasticSearch01_简介详解倒排索引安装es以及kibana检索es基本信息增删改查文档

聚合查询越来越慢?——详解Elasticsearch的Global Ordinals与High Cardinality

聚合查询越来越慢?——详解Elasticsearch的Global Ordinals与High Cardinality