1、索引相关操作
1.1、创建索引
对比关系型数据库,创建索引就等同于创建数据库。
向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/shopping,shopping 即为索引名。
请求后,服务器返回响应如下:
说明如下:
{ "acknowledged"【响应结果】: true, # true 操作成功 "shards_acknowledged"【分片结果】: true, # 分片操作成功 "index"【索引名称】: "shopping" } # 注意:创建索引库的分片数默认 1 片,在 7.0.0 之前的 Elasticsearch 版本中,默认 5 片
如果重复添加索引,会返回错误信息,如下:
1.2、查询索引
1.2.1、查询所有索引
向 ES 服务器发 GET 请求:http://127.0.0.1:9200/_cat/indices?v这里请求路径中的_cat 表示查看的意思,indices 表示索引,所以整体含义就是查看当前 ES 服务器中的所有索引,就好像 MySQL 中的 show tables 的感觉。
当 ES服务器中没有索引时,响应结果如下:
在成功创建索引后,再查询所有索引,可以看到以下示例结果:
1.2.2、查询单个索引
向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/shopping ,后面的 shopping 指的是索引名。查看索引和创建索引向 ES 服务器发送的请求路径都是一致的,但是 HTTP 方法不一致。 请求后,服务器响应结果如下:
返回结果说明如下:
{ "shopping"【索引名】: { "aliases"【别名】: {}, "mappings"【映射】: {}, "settings"【设置】: { "index"【设置 - 索引】: { "creation_date"【设置 - 索引 - 创建时间】: "1614265373911", "number_of_shards"【设置 - 索引 - 主分片数量】: "1", "number_of_replicas"【设置 - 索引 - 副分片数量】: "1", "uuid"【设置 - 索引 - 唯一标识】: "eI5wemRERTumxGCc1bAk2A", "version"【设置 - 索引 - 版本】: { "created": "7080099" }, "provided_name"【设置 - 索引 - 名称】: "shopping" } } } }
1.3、删除索引
向 ES 服务器发 DELETE 请求 :http://127.0.0.1:9200/shopping,后面的 shopping 指的是索引名。 结果如下:删除后重新访问索引时,服务器返回响应提示索引不存在,如下:
2、文档相关操作
2.1、创建文档
这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。
创建文档,并添加数据,向 ES 服务器发 POST 请求 :http://127.0.0.1:9200/shopping/_doc,shopping 指的是索引名。如果在创建文档时,该索引不存在,ES 会默认帮你新建索引。
请求体内容为:
{ "title":"小米手机", "category":"小米", "images":"http://www.gulixueyuan.com/xm.jpg", "price":3999.00 }
(此处发送请求的方式必须为 POST,不能是 PUT,否则会报错。)
服务器响应结果如下:
结果说明如下:
{ "_index"【索引】: "shopping", "_type"【类型-文档】: "_doc", "_id"【唯一标识】: "Xhsa2ncBlvF_7lxyCE9G", #可以类比为 MySQL 中的主键,随机生成 "_version"【版本】: 1, "result"【结果】: "created", #这里的 create 表示创建成功 "_shards"【分片】: { "total"【分片 - 总数】: 2, "successful"【分片 - 成功】: 1, "failed"【分片 - 失败】: 0 }, "_seq_no": 0, "_primary_term": 1 }上面的数据创建后,由于没有指定数据唯一性标识(ID),默认情况下,ES 服务器会随机生成一个ID,即上面返回结果中的 “_id”。
如果想要自定义唯一性标识,可以在创建文档时指定,如:http://127.0.0.1:9200/shopping/_doc/1001,1001即为指定的该文档的 id。此时请求方式既可以是 POST,也可以是 PUT。
2.2、查看文档
2.2.1、查询指定文档
查看文档时,可以指明文档的唯一性标识,类似于 MySQL 中数据的主键查询。向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/shopping/_doc/1001,响应结果如下:
2.2.2、查询所有文档
向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/shopping/_search,响应结果如下:
标签:shopping,http,索引,文档,服务器,基本操作,ES,ElasticSearch From: https://www.cnblogs.com/wenxuehai/p/17044756.html