ElasticSearch学习2--索引和文档的基础操作

这篇具有很好参考价值的文章主要介绍了ElasticSearch学习2--索引和文档的基础操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、索引的操作

1、创建索引

        对ES的操作其实就是发送一个restful请求,kibana中在DevTools中进行ES操作

        创建索引时需要注意ES的版本,不同版本的ES创建索引的语句略有差别,会导致失败

如下创建一个名为people的索引,settings,一些设置,mappings字段映射

PUT people

{
    "settings":{
        "number_of_shards":3,
        "number_of_replicas":1
    },
    "mappings":{
        "man":{
            "properties":{
                "name":{
                    "type":"text"
                },
                "country":{
                    "type":"keyword"
                },
                "age":{
                    "type":"integer"
                },
                "date":{
                    "type":"date",
                    "format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
                }
            }
        }    
    }
}

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

我的版本是7.0之前的老版本,需要指定索引类型,所以需要带上,如果是7.0之后的可以用下方语句

PUT people1
{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 1
    },
    "mappings": {
        "properties": {
            "name": {
                "type": "text"
            },
            "country": {
                "type": "keyword"
            },
            "age": {
                "type": "integer"
            },
            "date": {
                "type": "date",
                "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
            }
        }
    }
}

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 索引创建成功

2、查询索引信息

GET /_cat/indices?v  查看所有索引

GET /people

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

3、删除索引

DELETE /people

4、索引库新增字段

索引库是不允许进行修改的,但是可以进行新增字段

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

2、数据操作

有了索引以后,就相当于有了表,然后就可以对表进行增、删、改、查数据。

2、1 添加数据

  • PUT /索引名/类型名/文档id:创建一个指定id的文档
  • POST /索引名/类型名: 不指定ID插入时会自动生成,需要使用POST请求

以下三种方式请求是正确的:

put /test_1/test/1
{
  "id":1,
  "name":"小明",
  "age":20,
  "desc":"三好学生",
  "depName":"中学部"
}
post /test_1/test
{
  "id":2,
  "name":"小红",
  "age":22,
  "desc":"三好学生干部",
  "depName":"小学部"
}

post /test_1/test/3
{
  "id":3,
  "name":"小张",
  "age":18,
  "desc":"优秀干部",
  "depName":"大学部"
}

put请求后必现跟文档id,否则报错

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 2、2修改数据

通过继续提交PUT覆盖原来的值,需要带文档id,不带报错

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

POST请求不加文档id和_update,表示的是新增数据

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 添加了文档id报错

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

PUT /索引名/类型名/文档id,既可以新增也可以修改

先根据id查询文档,如果索引库中有该字段,就先删除旧文档然后新增

如果没有,就直接新增,是全量修改

POST /索引名/类型名 表示新增或修改,修改时可单独修改某个字段

其他版本修改可能为POST /索引库名/_update/文档id

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

2、3查询数据

GET /索引名称/类型名称/文档id      根据id查询单条数据

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 查询数据不存在时:

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 2、4删除数据

删除数据是逻辑删除

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 3、复杂查询

1、查询所有(默认返回结果是分页的,只返回了第一页10条)

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 2、带条件查询

match 根据单个字段搜索,如下查询名称为小红的数据

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

  • multi_match查询:多字段查询,任意一个字段符合条件就算符合查询条件
  • multi_match:从哪些字段中检索,指的是查询条件
  • _source:查询的结果包含哪些字段,指的是元数据

 只查询想要的字段_source指定

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 3、分页查询

from 第几页,size每页数量

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据

 4、排序

ElasticSearch学习2--索引和文档的基础操作,ElasticSearch,微服务相关,elasticsearch,学习,大数据文章来源地址https://www.toymoban.com/news/detail-687068.html

更多查询可参考https://blog.csdn.net/qq_44954571/article/details/122823297

到了这里,关于ElasticSearch学习2--索引和文档的基础操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 17、全文检索 -- Elasticsearch -- 使用 反应式 RestClient (ReactiveElasticsearchClient)操作 Es 服务器(增、删、查 :索引库和文档)

    Elasticsearch 所提供 RestHighLevelClient 本身提供了 【同步编程】 和 【异步编程】两种模型。 Elasticsearch 官方并未提供反应式的 RestClient : 因此 Spring Data Elasticsearch 额外补充了一个 ReactiveElasticsearchClient,用于提供反应式API支持, ReactiveElasticsearchClient 相当于 RestHighLevelClient 的反应式

    2024年04月28日
    浏览(50)
  • Elasticsearch的索引库和文档操作、RestClient的索引库和文档操作

    Linux系统通过Docker安装Elasticsearch、部署kibana Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。 简单的说

    2024年02月04日
    浏览(46)
  • Elasticsearch 索引库与文档操作

    2023年04月19日
    浏览(51)
  • ElasticSearch索引库、文档、RestClient操作

    es中的索引是指相同类型的文档集合 ,即mysql中表的概念 映射:索引中文档字段的约束,比如名称、类型 mapping映射是对索引库中文档的约束。类似mysql对表单字段的约束 type :字段数据类型,常见的类型有: 字符串:text(可分词的文本)、keyword(不可分词的文本,例如国家

    2024年02月10日
    浏览(48)
  • elasticsearch基础1——索引、文档

    导航: 【黑马Java笔记+踩坑汇总】JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 黑马旅游源码:  https://wwmg.lanzouk.com/ikjTE135ybje 目录 1.初识弹性搜索elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 1.1.2.ELK弹性栈 1.1.3.elasticsearch和lucene 1.1.4.搜索引擎技术

    2023年04月08日
    浏览(48)
  • 【SpringBoot】整合Elasticsearch 操作索引及文档

    官网操作文档:Elasticsearch Clients | Elastic                踩坑太多了。。。这里表明一下Spring Boot2.4以上版本可能会出现问题,所以我降到了2.2.1.RELEASE。对于现在2023年6月而言,Es版本已经到了8.8,而SpringBoot版本已经到了3.x版本。如果是高版本的Boot在配置类的时候会发现

    2024年02月09日
    浏览(53)
  • elasticsearch(ES)分布式搜索引擎01——(初识ES,索引库操作和文档操作,RestClient操作索引库和文档)

    1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 1.1.2.ELK技术栈 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域: 而elasticsearc

    2024年02月07日
    浏览(62)
  • ElasticSearch之RestClient操作索引库和文档

    前言:上文介绍了使用DSL语言操作索引库和文档,本篇文章将介绍使用Java中的RestClient来对索引库和文档进行操作。 希望能够加深自己的印象以及帮助到其他的小伙伴儿们😉😉。 如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。 小威在此先感谢各位大佬啦~~🤞🤞

    2024年02月06日
    浏览(36)
  • 【Elasticsearch篇】详解使用RestClient操作索引库的相关操作

    Elasticsearch是一个开源的分布式搜索和分析引擎, 用于实时搜索、分析和存储大规模数据 。它基于Apache Lucene库构建,提供了一个简单而强大的分布式搜索解决方案。 Elasticsearch具有以下特点: 分布式架构:Elasticsearch可以在多个节点上分布数据,并自动处理数据的复制、故障

    2024年01月24日
    浏览(44)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文档、查询操作(二)

    Elaticsearch ,简称为es,es是一个开源的 高扩展 的 分布式全文检索引擎 ,它可以近乎 实时的存储 、 检索数据; 本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的 目的

    2024年01月16日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包