索引的一些操作
集群健康
GET /_cluster/health
创建索引
PUT /index_test
{
"settings": {
"index": {
"number_of_shards": "2",
"number_of_replicas": "0"
}
}
}
查看索引
GET _cat/indices?v
删除索引
DELETE /index_test
文档的基本操作
添加文档数据
#{索引名}/_doc/{索引ID}
POST /my_doc/_doc/1
删除文档
# 文档删除不是立即删除,文档还是保存在磁盘上,索引增长越来越多,才会把那些曾经标识过删除的,进行清理,从磁盘上移出去
DELETE /my_doc/_doc/1
修改文档
# 每次修改后,version会更改
# 局部修改
POST /my_doc/_doc/1/_update
# 全量替换
PUT /my_doc/_doc/1
查询文档
# 常规查询
# 查询单个
GET /index_demo/_doc/{_id}
# 查询所有
GET /index_demo/_doc/_search
元数据
- _index:文档数据所属那个索引,理解为数据库的某张表即可。
- _type:文档数据属于哪个类型,新版本使用 _doc 。
- _id:文档数据的唯一标识,类似数据库中某张表的主键。可以自动生成或者手动指定。
- _score:查询相关度,是否契合用户匹配,分数越高用户的搜索体验越高。
- _version:版本号。
- _source:文档数据,json格式。
定制结果集
GET /index_demo/_doc/1?_source=id,name
GET /index_demo/_doc/_search?_source=id,name
判断文档是否存在
HEAD /index_demo/_doc/{_id}
乐观锁控制
POST /my_doc/_doc/{_id}/_update?if_seq_no={数值}&if_primary_term={数值}
- _seq_no:文档版本号,作用同_version(相当于_version,效率要更加高来更方便)
- _primary_term:文档所在位置
官文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/optimistic-concurrency-control.html