一、ES安装
docker安装
1 | $ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.10.2 |
镜像地址:https://hub.docker.com/_/elasticsearch,启动后访问http://localhost:9200/
参数调整
1 | #1、修改/etc/security/limits.conf,最后添加: |
二、ES使用
基本信息查询
健康信息查询:GET /_cat/health?v
节点信息查询:GET /_cat/nodes?v
分片信息查询:GET /_cat/indices?v
索引操作(可以认为是数据库)
添加索引:PUT /INDEX_NAME?pretty
查看索引:GET /_cat/indices?v
删除索引:DELETE /INDEX_NAME?pretty
文档操作(行操作)
添加文档(指定id=1),也可用于覆盖。doc为type(可认为是数据表),可自定义。
1 | PUT /INDEX_NAME/doc/1?pretty |
添加文档(不指定id)
1 | POST /INDEX_NAME/doc?pretty |
修改文档
1 | POST /INDEX_NAME/doc/1/_update?pretty |
删除文档:
1 | DELETE /INDEX_NAME/doc/2?pretty |
批处理
使用_bulk的API。
1 | POST /INDEX_NAME/doc/_bulk?pretty |
搜索
ES搜索的DSL,推荐使用GET+ 请求Body方式,符合规范但少见,一般我个人喜欢用POST方法代替。
1 | # 默认查询 |
bool query示例:
1 | # 交集 |
三、java的demo
pom.xml
1 | <parent> |
properties文件
1 | spring.elasticsearch.rest.uris= http://127.0.0.1:9200 |
Person.java
1 |
|
PersonRepository.java
1 | public interface PersonRepository extends ElasticsearchRepository<Person,String> { |
PersonController.java
1 |
|
测试
也可直接访问网址查看:http://localhost:9200/doc/person/_search
四、ELK
https://hub.docker.com/r/sebp/elk
使用文档 https://hub.docker.com/r/sebp/elk
http://www.dockerchina.cn/?id=64 基于Docker快速搭建ELK、Kafka
https://blog.csdn.net/qq_36236890/article/details/80445651 Spring Cloud ELK+kafka日志分析平台(一) 搭建
https://mp.weixin.qq.com/s/nOpITzYx9upTfSNENP5zug 2021 版本 ElasticSearch 学习手册!
https://www.toutiao.com/i6769823502758314503 搭建ELK容器化,so easy