ElasticSearch-文档的基本操作

文档和索引是es中最基础也是最核心的概念,熟悉对掌握文档和索引的操作是进一步学习es的基础,其实,如果你有关系型数据库的知识,可以把索引类比为数据库中的数据表,而文档可以理解为数据表中的一行记录。前面的索引就是对表的创建和mapping就是对字段的定义,而接下来我们要做的就是添加数据行,也就是我们今天要说到的-----文档。

添加文档
先创建一个新的索引 index003,此时的mappings中为空。

创建记录

POST http://192.168.145.131:9200/index003/_doc/46fZFHgBUzVT9dswVg–
在这里插入图片描述

_index: 文档数据所属那个索引,理解为数据库的某张表即可。
_type:文档数据属于哪个类型,新版本使用_doc。
_id:文档数据的唯一标识,类似数据库中某张表的主键。可以自动生成或者手动指定。
_score:查询相关度,是否契合用户匹配,分数越高用户的搜索体验越高。
_version:版本号。
_source:文档数据,json格式。

注意,没有指定id,es直接生成了随机字符串

在这里插入图片描述
注:如果索引没有手动建立mappings,那么当插入文档数据的时候,会根据文档类型自动设置属性类型。这个就是es的动态映射,帮我们在index索引库中去建立数据结构的相关配置信息。
###“fields”: {“type”: “keyword”} 对一个字段设置多种索引模式,使用text类型做全文检索,也可使用keyword类型做聚合和排序
###“ignore_above” : 256 设置字段索引和存储的长度最大值,超过则被忽略

在es-head中,点击数据浏览即可查看每条索引下的数据(文档)
在这里插入图片描述

查询

根据es_Id查询一条数据
http://192.168.145.131:9200/index003/_doc/46fZFHgBUzVT9dswVg–
在这里插入图片描述
根据条件查询es_Id 下的某一个属性
GET http://10.0.0.220:9200/index003/_doc/{_id}?_source=name
GET http://10.0.0.220:9200/index003/_doc/{_id}?_source=name,today ##多个条件
在这里插入图片描述
查询当前索引下的所有文档
http://192.168.145.131:9200/index003/_doc/_search
在这里插入图片描述

根据条件查询当前索引下的符合条件的文档

GET    http://10.0.0.220:9200/index003/_doc/_search?_source=name
GET    http://10.0.0.220:9200/index003/_doc/_search?_source=name,id    ### 多条件查询

在这里插入图片描述

查询某一个文档是否存在(如果存在,状态码为200,不存在则404)
在这里插入图片描述
删除文档(并不是物理删除,而是逻辑删除,当文档增多时,ES才会选择被动物理删除),每次删除或修改“_version”都会累加。
在这里插入图片描述

修改文档
局部修改
在这里插入图片描述

在这里插入图片描述

全量修改

http://192.168.145.131:9200/index003/_doc/2
在这里插入图片描述
在这里插入图片描述

通过版本号修改:文档乐观锁控制 if_seq_no与if_primary_term
老版本中,如果想要通过版本号来修改数据,则使用:

POST    http://10.0.0.220:9200/index003/_doc/1?version=2

但是新版本中,就要使用文档乐观锁控制 if_seq_no与if_primary_term

POST    http://10.0.0.220:9200/index003/_doc/1?if_seq_no={
    
    数值}&if_primary_term={
    
    数值}

在这里插入图片描述
修改后,_seq_no也会像version一样每次修改数值都累加
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_31776219/article/details/114577574