百度站长论坛,wordpress建站视频教程,开发网站申请,wordpress设为中文什么是ElasticSearch? Elasticsearch是一个开源的、分布式的、实时的搜索和分析引擎。它允许用户近乎实时地存储、检索大量数据#xff0c;并能够高效地对其进行全文搜索、聚合和分析。 部署ES和Kibana
通常采用docker-compose部署ES#xff08;ElasticSearch#xff09;服…什么是ElasticSearch? Elasticsearch是一个开源的、分布式的、实时的搜索和分析引擎。它允许用户近乎实时地存储、检索大量数据并能够高效地对其进行全文搜索、聚合和分析。 部署ES和Kibana
通常采用docker-compose部署ESElasticSearch服务是最方便的这里不得不提到将ES数据可视化的客户端工具kibana。 Kibana是一个开源的数据分析和可视化平台设计出来主要用于与Elasticsearch一起使用。用户可以用Kibana来搜索、查看和交互存放在Elasticsearch索引中的数据通过各种不同的图表、表格和地图等来展示高级的数据分析与可视化。 下面我们将这两个服务一起部署 从dockerhub上获取到es和kibana的docker镜像下面是docker-compose.yml。
version: 3
services:es01:image: elasticsearch:7.14.1environment:- node.namees01- cluster.namedata-cluster- bootstrap.memory_locktrue- cluster.initial_master_nodeses01- ES_JAVA_OPTS-Xms512m -Xmx512mulimits:memlock:soft: -1hard: -1volumes:- /data/docker2/elastic/es01/data:/usr/share/elasticsearch/data- /data/docker2/elastic/es01/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /data/docker2/elastic/es01/plugins:/usr/share/elasticsearch/plugins- /data/docker2/elastic/es01/logs:/usr/share/elasticsearch/logs- /etc/localtime:/etc/localtimeports:- 9201:9200#networks:# - elasticrestart: alwayskibana:image: kibana:7.14.1ports:- 5602:5601environment:SERVER_NAME: 10.88.7.123ELASTICSEARCH_HOSTS: [http://10.88.7.123:9201]restart: always注意kibana中的‘SERVER_NAME’设置成ES服务的IP地址‘ELASTICSEARCH_HOSTS’设置成ES服务的地址。
镜像和docker-compose.yml准备好后执行命令创建容器并启动服务。
docker-compose up -d --build 确认ES和kibana服务是否启动成功
# docker-compose psName Command State Ports
------------------------------------------------------------------------------------------------------------------------
docker2_es01_1 /bin/tini -- /usr/local/bi ... Up 0.0.0.0:9201-9200/tcp, 9300/tcp
docker2_kibana_1 /bin/tini -- /usr/local/bi ... Up 0.0.0.0:5602-5601/tcp
浏览器访问kibanahttp://{ip地址}:5602 如下图 点击Dev tools进入工具集可以通过指令和ES集群进行交互。 Kibana的Dev Tools提供了多种工具可以用于执行各种与Elasticsearch相关的操作例如创建索引、修改映射、运行查询和聚合等。 这些工具使得开发人员和数据分析师能够轻松地与Elasticsearch集群进行交互执行各种查询和操作并进行实时分析和可视化。 Kibana Dev-tools中的常用操作指令
1、索引相关
# 1、创建索引
PUT /users
{mappings: {properties: {UserName: {type: text,analyzer: standard},Department: {type: keyword},Permissions: {type: keyword}}}
}# 2、删除索引
DELETE /users# 3、获取集群中所有索引信息
GET /_cat/indices?v# 4、查询某个索引users信息
GET /users/_mapping# 5、索引增加字段
PUT /users/_mapping
{properties: {new_field: {type: text}}
}2、文档相关
# 1、增加文档
POST /users/_doc
{UserName: xiaoming,Department: 研发一部,Permissions: [],status: normal
}# 2、删除文档通过doc的id删除
DELETE /users/_doc/X3K3SosB8OQmTd26aQgG# 3、分页查询文档
# 从第21条开始获取一共获取20条记录默认from为0size为10
GET /users/_search
{query: {match_all: {}},from: 20,size: 20
}# 4、修改某个记录的字段值
# index_name 是索引名称document_type 是文档类型如果适用document_id 是要修改的文档的ID。
POST /index_name/document_type/document_id/_update
{ doc: { field_name: new_value }
}# 5、 查询并删除
# 这里用到符合查询
POST /index_name/_delete_by_query
{query: {bool: {must: [{match: {field_name: value}},{match: {field_name2: value2}}]}}
}# 6、 搜索并聚类
GET /index_name/_search
{size: 0, query: {match: {field_name: field_value}},aggs: {group_by_field: {terms: {field: 要聚类的字段名,size: 返回的聚类数量}}}
} 3、其它
Kibana中提供的ES的API指令还有很多这里不在赘述。大家在使用中有具体需求时可进行在线查找使用随着各种AI工具的出现我们还是需要尽快掌握运用这些工具的能力以便提高工作效率。