安装Kibana
这里主要是为了使用Kibana的Dev Tools控制台方便访问ES
这里直接使用docker-compose安装,并带有俩个elasticsearch组成的伪集群:
version: '3.7'
networks:
esnet:
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
container_name: elasticsearch
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- http.cors.enabled=true
- http.cors.allow-origin=*
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
elasticsearch2:
image: docker.elastic.co/elasticsearch/elasticsearch:6.5.1
container_name: elasticsearch2
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "discovery.zen.ping.unicast.hosts=elasticsearch"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata2:/usr/share/elasticsearch/data
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:6.5.1
environment:
- SERVER_NAME=kibana
- ELASTICSEARCH_URL=http://elasticsearch:9200
- XPACK_MONITORING_ENABLED=true
ports:
- 5601:5601
networks:
- esnet
volumes:
esdata1:
driver: local
esdata2:
driver: local
index API
新增 index
PUT employee
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
可以在新增时对index进行定制化配置,详细配置可参考官网的:index settings
删除index
DELETE employee
插入document
如果不需要对index做定制化配置,可以通过以下API自动创建index并插入数据:
PUT /employee/_doc/1
{
"name" : "zhangsan",
"age" : 28,
"signature":"I like watching movies",
"hobby" : ["book","music"]
}
这里使用PUT请求在es中新增了一个员工信息,es中的数据都是存储在index中,从6.x版本开始,一个index下只能有一个type,并且推荐设置为 “_doc”,因为在7.x版本中弃用了type的概念,旧版API中type的位置在7.x中只能是“_doc”。
查询API
单个查询document
GET /employee/_doc/1