网站首页 > 资源文章 正文
一、概述
ElasticSearch是Elastic Stack(Elasticsearch、Kibana、Beats 和 Logstash)中的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
像Github、维基百科、Sound Cloud、Stack Overflow、百度、新浪、阿里等国内外大厂都在使用Elastic Search。
一、ElasticSearch下载安装
1.1 下载
Elastic Stack的中文官网:www.elastic.co/cn。写本文时最新的版本是7.15.1,但是本文中使用的是7.8.0。
Windows下:
Linux:
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
复制代码
linux下安装的注意事项:
1、不能使用root用户运行ElasticSearch,解决如下,新建一个用户
adduser elasticsearch
passwd elasticsearch
chown -R elasticsearch elasticsearch-7.8.0
chgrp -R elasticsearch
复制代码
2、运行报错:max number of threads [3883] for user [elasticsearch] is too low, increase to at least [4096]。解决:
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 5000
* hard nproc 5000
root soft nproc 5000
root hard nproc 5000
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p
reboot # 重启服务器
复制代码
其他的一些问题:
- Elasticsearch是使用java开发的,且7.8版本的ES需要JDK版本1.8以上,默认安装包带有jdk环境,如果系统配置JAVA_HOME,那么使用系统默认的JDK,如果没有配置使用自带的JDK,一般建议使用系统配置的JDK。
- 双击启动窗口闪退,通过路径访问追踪错误,如果是“空间不足”,请修改config/jvm.options配置文件:
设置JVM初始内存为1G。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。设置JVM最大可用内存为1G
-Xms1g -Xmx1g
ElasticSearch目录说明:
目录 | 说明 |
bin | 可执行脚本目录 |
config | 配置目录 |
jdk | 内置JDK目录 |
lib | 类库 |
logs | 日志目录 |
modules | 模块目录 |
plugins | 插件目录 |
1.2 运行ElasticSearch
进入bin目录
Windows:双击运行elasticSearch.bat
Linux:./elasticSearch 运行
在浏览器中访问ElasticSearch所在服务器的9200端口,如下:
{
"name": "DESKTOP-ILEN9BL",
"cluster_name": "elasticsearch",
"cluster_uuid": "i_-OifhxTm2brH0U2ojwjQ",
"version": {
"number": "7.8.0",
"build_flavor": "default",
"build_type": "zip",
"build_hash": "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date": "2020-06-14T19:35:50.234439Z",
"build_snapshot": false,
"lucene_version": "8.5.1",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
复制代码
二、ElasticSearch操作
1.1 RESTful风格
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。
在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEAD 和 OPTIONS。简单的理解就是,如果想要访问互联网上的资源,就必须向资源所在的服务器发出请求,请求体中必须包含资源的网络路径,以及对资源进行的操作(增删改查)。
可以安装用的比较多的一个软件Postman来使用REST操作ElasticSearch,这里不多赘述关于Postman的安装了。下载地址:www.getpostman.com/apps
ElasticSearch里面的数据格式
Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档。很多人为了方便记忆Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比。毕竟大部分的人都是从传统的关系※数据库学到NoSQL的。
ElasticSearch里的Index可以看做一个库,而Types相当于表,Documents则相当于表的行。 这里Types的概念已经被逐渐弱化,Elasticsearch 6.X中,一个index下已经只能包含一个type,Elasticsearch 7.X中, Type的概念已经被删除了。
ElasticSearch中索引的CRUD
1、创建索引 如果创建的索引名称已经存在那么会返回错误信息。
PUT http://127.0.0.1:9200/shopping
# 返回结果
{
"acknowledged": true, # true操作成功
"shards_acknowledged": true, # 分片操作成功
"index": "shopping" # 索引名称
}
复制代码
2、查看索引
查看全部:返回的结果像是一个表格
http://127.0.0.1:9200/_cat/indices?v
复制代码
字段说明:
表头 | 含义 |
health | 当前服务器健康状态:green(集群完整) yellow(单点正常、集群不完整) red(单点不正常) |
status | 索引打开、关闭状态 |
index | 索引名 |
uuid | 索引统一编号 |
pri | 主分片数量 |
rep | 副本数量 |
docs.count | 可用文档数量 |
docs.deleted | 文档删除状态(逻辑删除) |
store.size | 主分片和副分片整体占空间大小 |
pri.store.size | 主分片占空间大小 |
查看单个索引:与上述的创建索引请求的路径一样,GET是读取操作。
GET http://127.0.0.1:9200/shopping
复制代码
返回结果:
{
# 索引名称
"shopping": {
# 别名
"aliases": {},
# 映射
"mappings": {},
# 设置
"settings": {
# 索引
"index": {
# 创建时间
"creation_date": "1614265373911",
# 主分片数量
"number_of_shards": "1",
# 副分片数量
"number_of_replicas": "1",
# uuid 唯一标识
"uuid": "eI5wemRERTumxGCc1bAk2A",
# 当前索引的版本,每一次修改,版本会随着改变
"version": {
"created": "7080099"
},
# 缩影名称
"provided_name": "shopping"
}
}
}
}
复制代码
3、删除索引 删除操作时DELETE请求
DELETE http://127.0.0.1:9200/shopping
复制代码
当索引存在时,删除成功返回:
{
"acknowledged": true
}
···
当删除不存在的索引时,会返回异常信息。
猜你喜欢
- 2024-09-26 如何避免重复提交?分布式服务的幂等性设计
- 2024-09-26 聊聊如何实现一个带幂等模板的Kafka消费者
- 2024-09-26 Docker 安装 Kibana(DOCKER 安装UNTUNTU 图形界面 装不上)
- 2024-09-26 「优雅代码」03-optional杜绝空指针异常
- 2024-09-26 Mybatis plus通用字段自动填充的最佳实践总结
- 2024-09-26 不吹牛逼,撸个注解有什么难的(切记不吹牛)
- 2024-09-26 如何优雅地记录操作日志?(如何优雅地记录操作日志)
- 2024-09-26 使用Java8改造出来的模板方法真的是yyds
- 2024-09-26 java利用枚举与数据库交互(java利用枚举与数据库交互方式)
- 2024-09-26 几款开源的后台管理系统(开源软件 后门)
你 发表评论:
欢迎- 07-03win7去掉桌面图标小箭头怎么操作 win7桌面快捷方式箭头怎么去除
- 07-03win7声音图标不见了怎么办(windows7声音没了怎么办)
- 07-03男生勿入:Win10/Win7/Win8.1女生图标下载
- 07-03桌面只有回收站图标,给Win7/10系统在桌面添加“计算机”图标
- 07-03经典windows桌面图标手机壁纸(经典windows桌面背景)
- 07-03如何在Win10启用Win7/Win8.1通知区域图标设置?
- 07-03win7声音图标不见了解决步骤(win7旗舰版声音图标不显示)
- 07-03为什么回收站图标没了?win11/win10/win7电脑如何显示回收站图标
- 最近发表
-
- win7去掉桌面图标小箭头怎么操作 win7桌面快捷方式箭头怎么去除
- win7声音图标不见了怎么办(windows7声音没了怎么办)
- 男生勿入:Win10/Win7/Win8.1女生图标下载
- 桌面只有回收站图标,给Win7/10系统在桌面添加“计算机”图标
- 经典windows桌面图标手机壁纸(经典windows桌面背景)
- 如何在Win10启用Win7/Win8.1通知区域图标设置?
- win7声音图标不见了解决步骤(win7旗舰版声音图标不显示)
- 为什么回收站图标没了?win11/win10/win7电脑如何显示回收站图标
- Win7怎么更换本地磁盘图标?(win7桌面改d盘)
- Win7桌面图标消失怎么办?(win7桌面图标全没了怎么办)
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)