网站开发大公司需要资格证吗,国家信用信息公示系统的官网,酒泉网站建设优化,优钙网logo设计本文来说下Elasticsearch基本操作之文档操作 文章目录 文档概述创建文档示例创建文档(生成随机id)创建文档(自定义唯一性标识) 查看文档示例根据主键查看文档查看所有文档 修改文档示例全局修改文档局部修改文档 删除文档示例根据文档的唯一性标识删除文档条件删除文档 本文小结… 本文来说下Elasticsearch基本操作之文档操作 文章目录 文档概述创建文档示例创建文档(生成随机id)创建文档(自定义唯一性标识) 查看文档示例根据主键查看文档查看所有文档 修改文档示例全局修改文档局部修改文档 删除文档示例根据文档的唯一性标识删除文档条件删除文档 本文小结 文档概述 文档概述 在创建好索引的基础上来创建文档并添加数据。这里的文档可以类比为关系型数据库中的表数据添加的数据格式为 JSON 格式。 创建文档示例
创建文档(生成随机id) 在 apifox 中向 ES 服务器发 POST 请求 http://localhost:9200/person/_doc请求体内容为 服务器响应结果如下 此处发送请求的方式 必须为 POST不能是 PUT 否则会发生错误 服务器响应结果解释 {_index【索引】: person,_type【 类型-文档 】: _doc,_id【唯一标识】: Qc8r54wBBLem2BEmnNus,#可以类比为 MySQL 中的主键随机生成_version【版本】: 1,result【结果】: created,#这里的 create 表示创建成功_shards【分片】: {total【分片 - 总数】: 2,successful【分片 - 成功】: 1,failed【分片 - 失败】: 0},_seq_no: 1,_primary_term: 1
}注意上面的数据创建后由于没有指定数据唯一性标识ID默认情况下ES 服务器会随机生成一个。 创建文档(自定义唯一性标识) 在 apifox 中向 ES 服务器发 POST 请求 http://localhost:9200/person/_doc/1请求体内容为 {name:李四,age:22,sex:女
}服务器响应结果如下 查看文档示例
根据主键查看文档 查看文档时需要指明文档的唯一性标识类似于 MySQL 中数据的主键查询。在 apifox 中向 ES 服务器发 GET 请求 http://127.0.0.1:9200/person/_doc/ 1 查询成功后服务器响应结果 服务器响应结果解释 {_index【索引】: person,_type【文档类型】: _doc,_id【唯一标识】: 1, #可以类比为 MySQL 中的主键_version【版本】: 1,_seq_no: 4,_primary_term: 1,found【查询结果】: true, # true 表示查找到false 表示未查找到_source【文档源信息】: {name: 李四,age: 22,sex: 女}
}查看所有文档 在 apifox 中向 ES 服务器发 GET 请求 http://localhost:9200/person/ _search 查询成功后服务器响应结果 {took: 0,timed_out: false,_shards: {total: 1,successful: 1,skipped: 0,failed: 0},hits: {total: {value: 5,relation: eq},max_score: 1.0,hits: [{_index: person,_type: _doc,_id: QM_K5owBBLem2BEmAdux,_score: 1.0,_source: {name: 张三,age: 20,sex: 男}},{_index: person,_type: _doc,_id: Qc8r54wBBLem2BEmnNus,_score: 1.0,_source: {name: 张三,age: 20,sex: 男}},{_index: person,_type: _doc,_id: Qs9754wBBLem2BEm69tA,_score: 1.0,_source: {name: 张三,age: 20,sex: 男}},{_index: person,_type: _doc,_id: Q89854wBBLem2BEmXds5,_score: 1.0,_source: {name: 李四,age: 22,sex: 女}},{_index: person,_type: _doc,_id: 1,_score: 1.0,_source: {name: 李四,age: 22,sex: 女}}]}
}修改文档示例
全局修改文档 和新增文档一样输入相同的 URL 地址请求如果请求体变化会将原有的数据内容覆盖。在 apifox 中向 ES 服务器发 POST 请求 http://127.0.0.1:9200/person/_doc/1请求体内容为 {name:李四四,age:66,sex:女
}修改成功后服务器响应结果 服务器响应结果解释 {_index: person,_type: _doc,_id: 1,_version【版本】: 2,result【结果】: updated,# updated 表示数据被更新_shards: {total: 2,successful: 1,failed: 0},_seq_no: 5,_primary_term: 1
}局部修改文档 修改数据时也可以只修改某一给条数据的局部信息。在 apifox 中向 ES 服务器发 POST 请求 http://127.0.0.1:9200/person/_update/1请求体内容为 修改成功后服务器响应结果 根据唯一性标识查询文档数据文档数据已经更新 删除文档示例
根据文档的唯一性标识删除文档
删除一个文档不会立即从磁盘上移除它只是被标记成已删除逻辑删除。 在 apifox 中向 ES 服务器发 DELETE 请求 http://127.0.0.1:9200/person/ _doc/1 删除成功服务器响应结果 服务器响应结果解释 {_index: person,_type: _doc,_id: 1,_version【版本】: 4, #对数据的操作都会更新版本result【结果】: deleted, # deleted 表示数据被标记为删除_shards: {total: 2,successful: 1,failed: 0},_seq_no: 7,_primary_term: 1
}删除后再查询当前文档信息 如果删除一个并不存在的文档返回结果为 not_found 条件删除文档 一般删除数据都是根据文档的唯一性标识进行删除实际操作时也可以根据条件对多条数据进行删除。 首先分别增加多条数据 向 ES 服务器发 POST 请求 http://127.0.0.1:9200/person/ _delete_by_query 请求体内容为 {query:{match:{name:张三}}
}服务器响应结果解释 {took【耗时】: 1426,timed_out 【是否超时】: false,total 【总数】: 4,deleted【删除数量】: 4,batches: 1,version_conflicts: 0,noops: 0,retries: {bulk: 0,search: 0},throttled_millis: 0,requests_per_second: -1.0,throttled_until_millis: 0,failures: []
}本文小结
本文记录了Elasticsearch基本操作之文档操作