ElasticSearch 实战:ES查询索引文档的6种方法

这篇具有很好参考价值的文章主要介绍了ElasticSearch 实战:ES查询索引文档的6种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Elasticsearch中,查询索引文档的方法多种多样,这里列举了6种常见的查询方法,其中包括:

  1. 简单查询(String Query)

    • 这是最基本的全文搜索,只需在URL后面附加查询字符串即可。例如,对索引my_index中的所有文档执行模糊匹配查询:
    GET my_index/_search
    {
      "query": {
        "match": {
          "field_name": "your_search_term"
        }
      }
    }
    
  2. Match Query

    • 类似于简单查询,但提供了更多的控制选项,比如精确匹配、模糊匹配等。例如:
    GET my_index/_search
    {
      "query": {
        "match": {
          "title": {
            "query": "search term",
            "operator": "and" // or "or" for a more relaxed matching
          }
        }
      }
    }
    
  3. Term Query

    • 用于精确匹配字段的特定值,尤其是在非分析字段上。
    GET my_index/_search
    {
      "query": {
        "term": {
          "status.keyword": "active" // 使用.keyword后缀避免对非分析字段进行分词
        }
      }
    }
    
  4. Bool Query

    • 复合查询,允许组合多个查询条件,包括must(必须满足)、should(最好满足)、must_not(必须不满足)等子句。
    GET my_index/_search
    {
      "query": {
        "bool": {
          "must": [
            { "match": { "title": "search term" } },
            { "range": { "date": { "gte": "2022-01-01" } } }
          ],
          "must_not": [
            { "term": { "status": "archived" } }
          ]
        }
      }
    }
    
  5. Range Query

    • 用于查询字段值在某个范围内的文档。
    GET my_index/_search
    {
      "query": {
        "range": {
          "age": {
            "gte": 18,
            "lte": 65
          }
        }
      }
    }
    
  6. Aggregation Queries

    • 聚合查询不是用来寻找特定文档的,而是用来做数据汇总统计。例如,计算某个字段的不同值的数量,或者按字段值分组统计数据。
    GET my_index/_search
    {
      "aggs": {
        "age_buckets": {
          "terms": {
            "field": "age",
            "size": 10
          }
        }
      }
    }
    

以上是Elasticsearch中几种基本的查询方式,实际上还有更多的查询类型和组合方式,如Wildcard Query、Prefix Query、Fuzzy Query、Regexp Query等等,可以根据实际需求选择合适的查询方法。文章来源地址https://www.toymoban.com/news/detail-848756.html

到了这里,关于ElasticSearch 实战:ES查询索引文档的6种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • es elasticsearch 新增更新索引,新增更新文档

    先新增索引 新增映射  或者上述两步和为一步(创建索引,及创建mapping) 只能增加原有不存在的字段 创建一个全新的索引,映射包含调整后的字段或类型 将原有索引的数据迁移到新的索引 删除原有索引 将新的索引的别名设置为原来索引相同名称 创建一个 重建文档(全量

    2024年02月11日
    浏览(45)
  • 【ES】Elasticsearch核心基础概念:文档与索引

    es的核心概念主要是:index(索引)、Document(文档)、Clusters(集群)、Node(节点)与实例,下面我们先来了解一下Document与Index。 在讲解Document与Index概念之前,我们先来了解一下RESTful APIs,因为下面讲解Document和Index的时候会使用到。 当我们把es服务器启动起来之后,要怎么调用呢?

    2024年02月05日
    浏览(48)
  • ES-Elasticsearch查看所有索引及查看某索引下的信息

    1.查看所有索引,地址栏直接访问下面的连接 http://localhost:9200/_cat/indices?vpretty 2.查看某索引下存的信息,查询的信息为索引结构信息(indexName为索引名称) GET方法:http://127.0.0.1:9200/indexName?pretty 3.查看某个索引下的所有文档数据 GET方法:http://localhost:9200/indexName/_search(需带下

    2024年02月11日
    浏览(44)
  • ElasticSearch---查询es集群状态、分片、索引

    查看es集群状态: 如果?后面加上pretty,能让返回的json格式化。 加上?v的返回结果,如下: 解释如下: 查看es分片信息: 查看es分片信息,模糊匹配,比如匹配test: 返回信息如下: 解析如下: 查看状态为unassigned的es分片信息: 查看es索引 查看es所有索引: indices表示索引,是

    2024年02月02日
    浏览(41)
  • 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基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入

    导航: 【黑马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.搜索引擎技术

    2024年02月01日
    浏览(56)
  • 简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

    今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需

    2024年01月25日
    浏览(46)
  • 怎样查询 elasticsearch es doc 文档中的 version 版本号

    参考链接:https://stackoverflow.com/questions/39016589/how-to-get-the-docs-version-field 记录一下: 需要加一个 version=true 的参数,返回结果中就会返回 version 。 返回结果:

    2024年02月16日
    浏览(40)
  • “更新查询超时时间“——优化ES索引更新性能的方法

    “更新查询超时时间”——优化ES索引更新性能的方法 在实际运用中,Elasticsearch (ES) 索引上的数据不可避免的需要进行更新操作。而update_by_query API 是一个十分强大的ES 更新功能工具,可以应对各种复杂的更新需求。然而,在进行高负载的大数据量操作时,update_by_query 会产生

    2024年02月03日
    浏览(47)
  • ElasticSearch系列 - SpringBoot整合ES:查询字段不为空的文档 exists

    1. ElasticSearch exists 查询是什么 在某些场景下,我们希望找到某个字段不为空的文档,则可以用exists搜索。字段不为空的条件有: 值存在且不是 null; 值不是空数组; 值是数组,但不是 [null] 例如,查询在字段中至少有一个非空值的文档: 这些文档都将匹配上面的查询: ①

    2024年02月06日
    浏览(74)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包