Elasticsearch 零基础到入门新手教程

 1 ElasticSearch 介绍

Elasticsearch 是一个实时的分布式搜索分析引擎, 它能让你以一个之前从未有过的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合 。

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理 
解它是如何工作的

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

Elasticsearch 使用 JavaScript Object Notation 或者 JSON 作为文档的序列化格式。 JSON 序列化被大多数编程语言所支持,并且已经成为 NoSQL 领域的标准格式。 它简单、简洁、易于阅读。 

考虑下面这个 JSON 文档,它代表了一个 user 对象:

1

2

3

4

5

6

7

8

9

10

11

 

{

"email": "john@smith.com",

"first_name": "John",

"last_name": "Smith",

"info":

    { "bio": "Eco-warrior and defender of the weak",

    "age": 25,

    "interests": [ "dolphins", "whales" ]

    },

"join_date": "2018/05/20"

}

 

2 ElasticSearch 安装

必须要有 java 环境

1

2

3

4

 

[root@ES-100 ~]# java -version

openjdk version "1.8.0_65"

OpenJDK Runtime Environment (build 1.8.0_65-b17)

OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)

 

1. 下载elasticsearch 

下载地址: 下载的rpm包
https://www.elastic.co/cn/downloads/elasticsearch

我的版本是: 
elasticsearch-6.5.1

安装:

1

 

[root@ES-100 software]# rpm -ivh elasticsearch-6.5.1.rpm

 

 

目录说明

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

 

配置文件目录在/etc/elasticsearch

[root@ES-100 elasticsearch]# pwd

/etc/elasticsearch

[root@ES-100 elasticsearch]# tree

.

├── elasticsearch.keystore

├── elasticsearch.yml #es 配置文件

├── jvm.options  # java 的配置文件

├── log4j2.properties

├── role_mapping.yml

├── roles.yml

├── users

└── users_roles

 

服务启动目录:

 

[root@ES-100 init.d]# /etc/init.d/elasticsearch

 

插件所在目录

[root@ES-100 plugins]# pwd

/usr/share/elasticsearch/plugins

 

启动es服务

1

2

3

4

5

 

开启自启

[root@ES-100 init.d]# systemctl enable elasticsearch.service

 

开启es

[root@ES-100 init.d]# service elasticsearch start

 

测试是否安装成功

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

 

[root@ES-100 init.d]# curl 'http://localhost:9200/?pretty';

{

  "name" : "VeXx8SO",

  "cluster_name" : "elasticsearch",

  "cluster_uuid" : "RPk51B7bRUuVHHFAkns6Sw",

  "version" : {

    "number" : "6.5.1",

    "build_flavor" : "default",

    "build_type" : "rpm",

    "build_hash" : "8c58350",

    "build_date" : "2018-11-16T02:22:42.182257Z",

    "build_snapshot" : false,

    "lucene_version" : "7.5.0",

    "minimum_wire_compatibility_version" : "5.6.0",

    "minimum_index_compatibility_version" : "5.0.0"

  },

  "tagline" : "You Know, for Search"

}

 

3 ElasticSearch 配置文件介绍

Elasticsearch 已经有了 很好 的默认值, 特别是涉及到性能相关的配置或者选项,其它数据库可能需要调优,但总得来说,Elasticsearch 不需要。 如果你遇到了性能问题,解决方法通常是更好的数据布局或者更多的节点。

3.1 elasticsearch.yml重要文件

Elasticsearch 默认启动的集群名字叫 elasticsearch 
可以在你的/etc/elasticsearch/elasticsearch.yml 中修改 

1

 

cluster.name: elasticsearch_production

 

给每个节点设置一个有意义的、清楚的、描述性的名字,同样你可以在elasticsearch.yml 中配置: 

1

 

node.name: elasticsearch_005_data

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0b85b6141a93dda06aa22fb80439f5cc.html