安装(开箱即用)
window 安装
- 下载并解压:elasticsearch
- 官方下载:https://www.elastic.co/cn/downloads/elasticsearch
- 链接:https://pan.baidu.com/s/1zIqXPQr4yAhHSHKZF-mQJg
提取码:ecbj
- 启动:/bin/elasticsearch.bat
- 验证elasticsearch:http://localhost:9200/?pretty
- 下载并解压:kibana
- 官方下载:https://www.elastic.co/cn/downloads/kibana
- 链接:https://pan.baidu.com/s/1xSAA_KztGUJwjEBDwoAeWw
提取码:195q
- 启动:/bin/kibana.bat
- 验证:http://localhost:5601/
- 开发者关注 Kibana -> Dev Tools http://localhost:5601/app/kibana#/dev_tools/console
API
健康状况
GET _cat/health?v
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1585200949 05:35:49 elasticsearch green 1 1 3 3 0 0 0 0 - 100.0%
主要看
status
信息
- green - 健康
- yellow - 分配了所有主分片,但至少缺少一个副本,此时集群数据仍旧完整
- red - 部分主分片不可用,可能已经丢失数据
索引状况
GET _cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana_task_manager_1 Uhs2F8GYTxO9CtH8t9JKGA 1 0 2 1 51.4kb 51.4kb
green open .apm-agent-configuration KJF2qw89TcqNmbYN2PnxhQ 1 0 0 0 283b 283b
green open .kibana_1 5zJcklOxSjaR95FDvPLUxg 1 0 4 0 16.6kb 16.6kb
索引操作
PUT /test_index
- 创建索引,test_index
为自定义所以名DELETE /test_index
- 删除索引
简单CURD操作
新增商品,新增文档,建立索引
插入数据
- 语法
PUT /index/type/id
{
...
}
- es 会自动建立 index 和 type ,不需要提前创建,而且 es 默认会对 document 每个 field 都建立倒排索引,让其可以被搜索
- 新增商品
PUT /ecommerce/product/1
{
"name": "gaolujie yagao",
"desc": "gaoxiao meibai",
"price": 30,
"producer": "gaolujie producer",
"tags": ["meibai", "fangzhu"]
}
PUT /ecommerce/product/2
{
"name": "jiajieshi yagao",
"desc": "youxiao fangzhu",
"price": 25,
"producer": "jiajieshi producer",
"tags": ["fangzhu"]
}
PUT /ecommerce/product/3
{
"name": "zhonghua yagao",
"desc": "caoben zhiwu",
"price": 40,
"producer": "zhonghua producer",
"tags": ["qingxin", "fangzhu"]
}
查询
- 语法
GET /index/type/id
- 查询商品
GET /ecommerce/product/1
{
"_index" : "ecommerce",
"_type" : "product",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"name" : "gaolujie yagao",
"desc" : "gaoxiao meibai",
"price" : 30,
"producer" : "gaolujie producer",
"tags" : [
"meibai",
"fangzhu"
]
}
}
更新
修改后 document 的 version 会递增
语法一 - 替换法
PUT /index/type/id
{
"field1" : "field1 new value"
all field ...
}
- 修改商品名称
PUT /ecommerce/product/1
{
"name": "jiaqiangban gaolujie yagao",
"desc": "gaoxiao meibai",
"price": 30,
"producer": "gaolujie producer",
"tags": ["meibai", "fangzhu"]
}
缺陷:必须带上素有 field , 才能去进行信息的修改
语法二 - 更新法【推荐】
POST /index/type/id/_update
{
"doc": {
"filed": "new field value"
}
}
- 修改商品名称
POST /ecommerce/product/1/_update
{
"doc": {
"name": "jiaqiangban gaolujie yagao"
}
}
注意:修改内容在
doc
节点下
删除
- 语法
DELETE /index/type/id
- 删除商品
DELETE /ecommerce/product/1