ElasticSearch 之学习

安装

下载地址

ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D
logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D
kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D
elasticsearch-analysis-ik: https://github.com/medcl/elasticsearch-analysis-ik/releases
cerebro: https://github.com/lmenezes/cerebro/releases
elasticsearch-head: https://github.com/mobz/elasticsearch-head

单节点安装

官网下载: https://www.elastic.co/cn/elasticsearch/

将下载的文件解压,解压后的目录含义如下:
在这里插入图片描述
启动方式:
进入到 bin 目录下,直接执行 ./elasticsearch 启动即可。
看到 started 表示启动成功。
默认监听的端口是 9200,所以浏览器直接输入 localhost:9200 可以查看节点信息。

配置集群名称以及节点名称:
打开 config/elasticsearch.yml 文件,可以配置集群名称以及节点名称。配置方式如下:

cluster.name: yq-es-cluster
node.name: master-yq

在这里插入图片描述

HEAD 插件安装

Elasticsearch-head 插件,可以通过可视化的方式查看集群信息。

下载插件安装:

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

访问: http://127.0.0.1:9100/

连接测试发现,存在跨域问题,配置 es。

解决办法如下,修改 es 的 config/elasticsearch.yml 配置文件,添加如下内容,使之支持跨域:

http:
  cors:
    enabled : true
    allow-origin : "*"

重启 es 服务器,然后再次连接。

分布式安装

一主二从,master 的端口是 9200,slave 端口分别是 9201 和 9202

1、首先修改 master 的 config/elasticsearch.yml 配置文件:

node.master: true
network.host: 127.0.0.1

重启 master。

2、将 es 的压缩包解压两份,分别命名为 elasticsearch-slave01 和 elasticsearch-slave02,代表两个从机,分别对其进行配置。
elasticsearch- slave01/config/elasticsearch.yml:

# 集群名称必须保持一致
cluster.name: yq-es-cluster
node.name: slave01
network.host: 127.0.0.1
http.port: 9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

elasticsearch-slave02/config/elasticsearch.yml:

# 集群名称必须保持一致
cluster.name: yq-es-cluster
node.name: slave02
network.host: 127.0.0.1
http.port: 9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

然后分别启动 elasticsearch-slave01 和 elasticsearch-slave02。
启动后,可以在 head 插件上查看集群信息。
在这里插入图片描述

安装 Kibana

Kibana 是一个 Elastic 公司推出的一个针对 es 的分析以及数据可视化平台,可以搜索、查看存放在 es 中的数据。

汉化,具体的配置文件是 config/kibana.yml

i18n.locale: "zh-CN"

执行 ./bin/kibana 文件启动

localhost:5601
在这里插入图片描述

ES 核心概念

全文检索

  • 通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数。
  • 用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了。

倒排索引

在这里插入图片描述
在这里插入图片描述

ES VS 关系型数据库

ES 是面向文档的,一切都是JSON。
在这里插入图片描述
ES(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)。

物理设计:
ES 在后台把每个索引划分成多个分片,每个分片可以在集群中的不同服务器间迁移。

逻辑设计:
一个索引类型中,包含多个文档,比如文档1,文档2。当我们索引一篇文档时,可以通过这样的一个顺序找到它:索引-》类型-》文档ID,通过这个组合我们就能索引到某个具体的文档。注意:ID不必是整数,实际上它是个字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值