重要的动态配置
1)、number_of_replicas:每个主分片的副本数。默认为 1,允许配置为 0。
2)、refresh_interval:执行刷新操作的频率,默认为1s. 可以设置 -1 为禁用刷新。
3)、max_result_window:from + size 搜索此索引的最大值。默认为10000。
3.3、删除索引
DELETE <index_name>
3.4、判断索引是否存在
HEAD <index_name>
4、文档(doc)操作
4.1、文档操作类型
新增数据分为两种:create、index。
1)、create:如果在 PUT 数据的时候当前数据已经存在,则会返回失败(不存在则创建,存在则报错);
2)、index:如果在 PUT 数据的时候当前数据已经存在,则数据会被覆盖(可以是创建,也可以是全量替换)。
4.2、创建(create)
# 1、基础语法
PUT /<index_name>/_doc/<_id>?op_type=create
# 2、简化版本
PUT /<index_name>/_create/<_id>/
# 3、示例:
PUT test_es/_create/1 # PUT test_es/_doc/1?op_type=create
{
"id":1,
"name":"weilong"
}
4.3、索引(index) [创建或全量更新文档]
# 1、基础语法
PUT /<index_name>/_doc/<_id>?op_type=index
# 2、简化版本
PUT /<index_name>/_doc/<_id>
4.4、文档的增删改查
4.4.1、增(PUT和POST方式都可以)
PUT /<index_name>/_doc/<_id> # 默认是 index 类型
PUT /<index_name>/_create/<_id>
POST /<index_name>/_doc/<_id> # 不加<id>会随机生成id
POST /<index_name>/_create/<_id> # 不加<id>会随机生成id
4.4.2、删
DELETE /<index_name>/_doc/<_id>
4.4.3、改(修改局部字段或者数据)
# 1、第一种(如果需要更新的操作没有改变数据,返回resulrt为noop,否则为updated)
POST /<index_name>/_update/<_id>
{
"doc": {
"<field_name>": "<field_value>"
}
}
# 2、第二种(无论怎样都会更新,返回updated)
POST /<index_name>/_doc/<_id>
{
"<field_name>": "<field_value>"
}
4.4.4、查
# 1、查询
GET <index>/_doc/<_id>
# 2、判断文档是否存在
HEAD <index>/_doc/<_id>
# 3、仅查看元数据
GET <index>/_doc/<_id>?_source=false # 默认为true,全部数据返回
# 4、仅查看数据,不查看元数据
GET <index>/_source/<_id>
4.4.5、批量查询
可以针对不同的文档,指定不同的查询策略;也可以支持不同索引,不同策略。
# 1、基础语法(可以针对不同的文档,指定不同的查询策略)
GET /_mget
{
"docs": [
{
"_index": "<index_name>",
"_id": "<_id>"
},
{
"_index": "<index_name>",
"_id": "<_id>"
}
]
}
# 2、简化语法(针对固定索引)
GET <index_name>/_mget
{
"docs": [
{
"_id": "1",
"_source": false
},
{
"_id": "2",
"_source": true
}
]
}
5、总结
本文详细介绍Elasticsearch中相关名词解释,以及Elasticsearch索引使用和文档的增删改查,帮助大家快速掌握Elasticsearch的基础使用。
本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)