首页 > 其他分享 >ElasticSearch的基本操作

ElasticSearch的基本操作

时间:2023-01-11 19:57:38浏览次数:41  
标签:shopping http 索引 文档 服务器 基本操作 ES ElasticSearch

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

相关文章

  • 软件开发入门教程网之Git 基本操作
    Git基本操作Git的工作就是创建和保存你项目的快照及与之后的快照进行对比。本章将对有关创建与提交你的项目快照的命令作介绍。Git常用的是以下6个命令:gitclone ......
  • pyechart画图(1)安装和基本操作
    安装pipinstallpyecharts==0.1.9.4 https://blog.csdn.net/weixin_43735353/article/details/89328048 Line(折线/面积图)折线图是用折线将各个数据点标志连接起......
  • Java课程设计之——Elasticsearch篇
    0、团队项目博客1、主要使用的技术及开发工具Elasticsearch7.17.3RESTAPIElasticsearchjavaAPIClient7.17.3Kibana7.17.3Jackson2.12.32、Elasticsearch......
  • CentOS7部署elasticsearch8.5
    CentOS7部署elasticsearch8.5 elk与jdk依赖关系 https://www.elastic.co/cn/support/matrix  1.下载安装包[root@localhost~]#wgethttps://artifacts.elasti......
  • awk(一) 基本操作符
    $0       表示整个当前行$1       每行第一个字段NF            字段数量变量NR      每行的记录号,多文件记录递增......
  • docker安装elasticsearch
    启动elasticsearch下载Elasticsearch7.17.5的docker镜像:dockerpullelasticsearch:7.17.5修改虚拟内存区域大小,否则会因为过小而无法启动:sysctl-wvm.max_map_......
  • docker启动elasticsearch和kibana
    首先执行通过docker将以下镜像进行拉取:dockerpullelasticsearch:7.4.2用于存储和检索数据(版本可以自定义,两者版本需要统一)dockerpullkibana:7.4.2用于可视化检索数......
  • Elasticsearch 入门:logstash 5.0.0 安装及输出数据到 elasticsearch
    首先安装:elasticsearch、 kibana,以下测试会用到。安装参考:​​Elasticsearch入门:CentOS5.6安装Elasticsearch5.0​​​​Elasticsearch入门:Elasticsearch5.0安装......
  • ElasticSearch的基本使用
    1、ElasticSearch基本介绍TheElasticStack,包括Elasticsearch、Kibana、Beats和Logstash(也称为ELKStack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地......
  • ElasticSearch集群搭建
    一、调整内核参数vim/etc/sysctl.confvm.max_map_count=262144vim/etc/security/limits.confsoftnofile65536hardnofile65536sysctl-p二、解压文件tar-z......