CentOS 7.3 离线安装和使用ElasticSearch和kibana

CentOS 7.3 离线安装ElasticSearch和kibana

本文是基于CentOS 7.3系统环境,安装和测试GitLab:


一、ElasticSearch的概念

1. 介绍

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

2. 特点

索引集:逻辑上的完整索引
分片:数据拆分后的各个部分
副本:每个分片的拷贝

二、安装前的准备工作

1. 下载安装包

2. 新建用户

  • 出于安全考虑,ES默认不允许以root用户运行
useradd bailang
passwd bailang
su - bailang

3. 解压压缩包

  • 修改压缩包的权限
chown bailang:bailang elasticsearch-6.2.4.tar.gz
tar -xzvf elasticsearch-6.2.4.tar.gz
mv elasticsearch-6.2.4.tar.gz elasticsearch

4. 配置

  • 配置JVM堆内存大小
cd elasticsearch/config
vi jvm.options
## 设置为电脑总内存的一半
-Xms4g
-Xmx4g
tar -xzvf elasticsearch-6.2.4.tar.gz
mv elasticsearch-6.2.4.tar.gz elasticsearch
  • 配置elasticsearch.yml
cd elasticsearch/config
vi elasticsearch.yml
## 设置为电脑总内存的一半
path.data: /home/bailang/elasticsearch/data
path.logs: /home/bailang/elasticsearch/logs
network.host 0.0.0.0
  • 配置max file descriptors
su root
vi /etc/security/limits.comf

# 在最后添加配置信息
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
  • 配置虚拟内存 max virtual memory area
vi /etc/sysctl.conf
#
vm.max_map_count=655360
  • 执行sysctl命令
sysctl -p
  • 创建data目录
su bailang
mkdir data
  • 开放防火墙9200端口
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --reload
cp elasticsearch-analysis-ik-6.2.4.zip /home/bailang/elasticsearch/plugins
unzip elasticsearch-analysis-ik-6.2.4.zip
mv elasticsearch ik-analyzer
  • 重启计算机,并重新建立ssh连接
shutdown -r now

5. 运行

  • 切换bailang用户
su bailang
cd /bin
./elasticsearch

6. 安装kibana

yum install -y kibana-6.0.0-x86_64.rpm 

7. 修改配置

  • kibana.yml
vi /etc/kibana/kibana.yml 
##
server.port: 5601        						
server.host: "192.168.1.31"      					
elasticsearch.url: "http://192.168.0.206:9200"   
  • 开放防火墙5601端口
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload
  • 开启服务
systemctl enable kibana
systemctl start kibana

三、ElasticSearch的用法

1. 创建索引

  • 请求方式: PUT
  • 请求路径: /索引库名
  • 请求参数: json格式
# number_of_shards: 分片数量
# number_of_replicas: 副本数量
{
	"settings":{
		"number_of_shards": 3,
		"number_of_replicas": 2
	}
}

2. 查询索引

  • 请求方式: GET
  • 请求路径: /索引库名
GET /zs200

3. 删除索引

  • 请求方式: DELETE
  • 请求路径: /索引库名
DELETE /zs200

4. 创建映射字段

  • 请求方式: PUT
  • 请求路径: /索引库名/_mapping/类型名称
  • 请求参数: json格式
{
	"properties":{
		"字段名": {
			"type": "类型",
			"index": true, # 影响字段索引情况
			"store": false, # 是否将数据进行额外存储
			"analyzer": "分词器",
		}
	}
}
## 商品实例
PUT /zs200/_mapping/goods
{
	"properties":{
		"title": {
			"type": "text",
			"analyzer": "ik_max_word",
		},
		"images": {
			"type": "keyword",
			"index": false,
		},
		"price": {
			"type": "float"
		}
	}
}

5. 数据类型

  • 字符型
text # 字符,可分词
keyword # 字符,不可分词
  • 数字型
long
integer 
short
byte
double
float
half_float
scaled_float
  • 日期型
date
  • 布尔型
boolean
  • 二进制型
binary
  • 区间型
long_range
integer_range
date_range
double_range
float_range
  • 数组型
Array
  • 对象型
Object
  • Nested型
Nested 

6. 新增数据

  • 随机生成id
POST /索引库名/类型名
{
	"key":"value"
}
POST /zs200/goods/
{
	"title":"小米手机",
	"images":"http://192.168.0.140/222.png",
	"price":2399.00
}
  • 指定id
POST /索引库名/类型名/id
{
	"key":"value"
}
POST /zs200/goods/1
{
	"title":"大米手机",
	"images":"http://192.168.0.140/233.png",
	"price":2999.00
}

7. 查询数据

GET /索引库名/类型名/1
# 查询所有
GET /zs200/_search
{
	"query":{
		"match_all":{}
	}
}

8. 修改数据

PUT /索引库名/类型名/1
# 查询所有
PUT /zs200/goods/1
{
	"title":"超大米手机",
	"images":"http://192.168.0.140/233.png",
	"price":3999.00
}

9. 删除数据

DELETE /索引库名/类型名/1
# 查询所有
DELETE /zs200/goods/1

10. 基本查询

GET  /索引库名/_search
{
	"query":{
		"查询类型":{
			"查询条件":"查询条件值"
		}
	}
}
  • 查询类型
match_all, match, term, range等
GET  /zs200/_search
{
	"query":{
		"match":{
			"title":{
				"query":"大米手机",
				"operator":"and"
			}
		}
	}
}

11. 多字段查询

GET  /zs200/_search
{
	"query":{
		"multi_match":{
			"query":"小米",
			"fields": ["title", "subTitle"]
		}
	}
}

12. 词条匹配

# 面向不分词的类型
GET  /zs200/_search
{
	"query":{
		"term":{
			"price":2699.00
		}
	}
}

13. 结果过滤

GET  /zs200/_search
{	
	"_source":"title",
	"query":{
		"match":{
			"title":"大米手机"
		}
	}
}

发布了86 篇原创文章 · 获赞 130 · 访问量 143万+

猜你喜欢

转载自blog.csdn.net/qq_32599479/article/details/105653307