如何建设一个收益较高的网站?
摘要:建什么网站收益比较号,图盛网站建设,网站建设所需要的内容,做封面的地图网站简介:Elasticsearch(ES)是一个开源的分布式搜索和分析引擎&a
建什么网站收益比较号,图盛网站建设,网站建设所需要的内容,做封面的地图网站简介#xff1a;Elasticsearch#xff08;ES#xff09;是一个开源的分布式搜索和分析引擎#xff0c;用于快速存储、搜索和分析大量数据。它具有高性能、可扩展性和灵活性的特点#xff0c;被广泛用于构建实时搜索、日志分析、数据可视化等应用。 本文主要介绍ES索引的操… 简介ElasticsearchES是一个开源的分布式搜索和分析引擎用于快速存储、搜索和分析大量数据。它具有高性能、可扩展性和灵活性的特点被广泛用于构建实时搜索、日志分析、数据可视化等应用。 本文主要介绍ES索引的操作索引中数据的操作增、删、改功能。
一、环境准备
版本
Docker version 20.10.22 elasticsearch:7.13.3 kibana:7.13.3 ps具体启动命令参考第一篇ES博客
二、创建索引
创建索引
创建索引my_test_index分别有四个字段id、name、age、remark PUT代表请求方式为 put 类型 my_test_index代表索引的名称 number_of_shards分片数 number_of_replicas副本数 正如上述所说put请求是restful请求中的类型也就是说es支持http请求的方式执行命令只需在/前添加es的地址即可。 PUT /my_test_index_part2
{settings: {number_of_shards: 3,number_of_replicas: 1},mappings: {properties: {id: {type: integer},name: {type: keyword},age: {type: integer},remark: {type: text}}}
}// 执行结果
{acknowledged : true,shards_acknowledged : true,index : my_test_index_part2
}三、数据操作
添加数据Document
索引index中的数据称为document一条document相当于一条数据下面介绍几种添加数据的方法
POST /index/_doc
PUT /index/_doc/_idPOST /index/_create/_id
PUT /index/_create/_id第一个单词代表请求方式、index指索引名称、_doc和_create代表是两种方式插入数据下面开始插入数据
_doc方式
分别执行下面命令
POST /my_test_index_part2/_doc
{id: 1,name: 张三,age: 18,remark: 张三爱吃肉
}POST /my_test_index_part2/_doc/2
{id: 2,name: 李四,age: 19,remark: 李四爱吃水果
}PUT /my_test_index_part2/_doc/3
{id: 3,name: 王五,age: 20,remark: 王五爱吃蔬菜
}GET /my_test_index_part2/_search先说结论在_doc的情况下
POST 可以创建成功但是 _id 是es随机给定的POST _id 可以创建成功_id也是我们指定的PUT 不可以运行PUT _id 可以创建成功_id也是我们指定的
运行结果如下
{// 省略....hits : {total : {value : 3,relation : eq},max_score : 1.0,hits : [{_index : my_test_index_part2,_type : _doc,_id : 2,_score : 1.0,_source : {id : 2,name : 李四,age : 19,remark : 李四爱吃水果}},// 省略....{_index : my_test_index_part2,_type : _doc,_id : 8tf8sYoBBTGuuZu3VQCK,_score : 1.0,_source : {id : 1,name : 张三,age : 18,remark : 张三爱吃肉}}]}
}_create方式
分别执行下面命令
POST /my_test_index_part2/_create/4
{id:4,name: 李四四,age: 21,remark:李四四爱吃水果
}PUT /my_test_index_part2/_create/5
{id:5,name: 王五五,age: 22,remark:王五五爱吃蔬菜
}GET /my_test_index_part2/_search结论在_create的情况下
POST 不可以运行POST _id 可以创建成功_id也是我们指定的PUT 不可以运行PUT _id 可以创建成功_id也是我们指定的
数据Document修改
在上述命令中remark字段添加叹号后运行结果只有_doc带有_id的命令执行成功其他均失败。结论必须指定**_id**在**_doc**下进行执行才行。
POST /my_test_index_part2/_doc/5
{id:5,name: 王五五,age: 22,remark:王五五爱吃蔬菜!!!
}// 执行此命令查看修改结果
GET /my_test_index_part2/_search删除
_id填写返回的_id字段的值即可
DELETE /index/_doc/_idDELETE /my_test_index/_doc/aCnJjYoBcmOMV0ezI5zx四、结论
新增
POST /index/_doc POST /index/_doc/_id
_id不指定时ES会为我们自动生成id指定_id时且id在索引中不存在ES将添加一条指定id的数据指定_id时但id在索引中存在ES将会更新这条数据
PUT /index/_doc/_id
_id必须指定不指定会报错_id在索引中不存在为添加新数据_id在索引中存在为修改数据
POST /index/_create/_id PUT /index/_create/_id
id必须指定指定的id如果在索引中存在报错添加不成功指定的id在索引中不存在添加成功符合预期
删除
DELETE /index/_doc/_id
查询
单条 GET /index/_doc/_id 全部 GET /index/_doc/_search
