ElasticSearch-文档查询

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

目录

一、查询某个索引下的全部文档

二、根据查询条件查询文档

三、分页查询

四、查询指定返回的字段

五、排序

六、多条件查询

七、范围查询

八、全文检索与完全匹


一、查询某个索引下的全部文档

语法:

GET /索引名称/_search
{
  "query": {
    "match_all": {}
  }
}

例子:

GET /es_db1/_search
{
  "query": {
    "match_all": {}
  }
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

二、根据查询条件查询文档

语法如下,使用query,match查询条件。

GET /索引名称/_search
{
  "query": {
    "match": {
      "属性名":"属性值"
    }
  }
}

 例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  }
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

 

三、分页查询

语法:from和size, from表示从第几个开始,size表示查询多少条。from:(页码数-1) * size大小。

例子:以下例子就是从第3页开始,查询2条。

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
  "from":4,
  "size": 2
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

四、查询指定返回的字段

语法:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"查询条件字段值"
    }
  },

  "_source":"返回的字段",
  "from":4,
  "size": 2
}

例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
  
  "_source":"address",
  "from":4,
  "size": 2
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

五、排序

语法:这里的age,直接修改age字段即可表示排序字段, sort是固定写法, order是固定写法表示排序的意思,desc表示降序意思。

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"查询条件字段值"
    }
  },
 
  "from":4,
  "size": 2,
  "sort": {
      "age": {
        "order": "desc"
      }
  }
  
}

例子:

GET /es_db1/_search
{
  "query": {
    "match": {
      "name":"关羽"
    }
  },
 
  "from":4,
  "size": 2,
  "sort": {
      "age": {
        "order": "desc"
      }
  }
  
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

六、多条件查询

 bool表示查询结果是否满足,固定写法。 must表示must数据里面的查询条件同时成立相当于and查询。如果是must改为should,则表示任意条件满足,相当于or

# 多条件查询同时成立
GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "address":"蜀国荆州2"
          }
        }
      ]
    }
  }
}

例子:

# 多条件查询同时成立
GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "address":"蜀国荆州2"
          }
        }
      ]
    }
  }
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

 

例子:

# 多条件查询任一满足
GET /es_db1/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name":"关羽"
          }
        },
         {
          "match": {
            "name":"刘备"
          }
        }
      ]
    }
  }
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

七、范围查询

语法:

GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
         {
          "match": {
            "查询字段":"字段值"
          }
        }
      ],
      "filter": [
        {
          "range": {
            "查询字段": {
              "gte": 最小值,
              "lte": 最大值
            }
          }
        }
      ]
    }
  }
}

例子:

# 范围查询

GET /es_db1/_search
{
  "query": {
    "bool": {
      "must": [
         {
          "match": {
            "name":"刘备"
          }
        }
      ],
      "filter": [
        {
          "range": {
            "age": {
              "gte": 10,
              "lte": 50
            }
          }
        }
      ]
    }
  }
}

结果:

elasticsearch查询所有文档,ElasticSearch,elasticsearch,java,大数据

八、全文检索与完全匹

在上面的例子都是用match,是全文检索,比如说match“中华人民共和国” 会匹配“中华”,“人民”,“共和国”这三个中的任一一个。如果只想匹配“中华人民共和国”这个关键字而不是上面的三个,则需要把math改成 match_phrase进行完全匹配。文章来源地址https://www.toymoban.com/news/detail-607160.html

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

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

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

相关文章

  • Elasticsearch文档查询详解

    如果文档中被匹配的字段包含中文则会进行模糊搜索,如果只有英文则会精确搜索,举例说明: 字段名 文档1 文档2 文档3 name java java123 java张三 如果name匹配java的话可以匹配到java、java张三但是匹配不到java123。 查询索引中tags中包含男、技术的文档,会检索出包含男关

    2024年02月08日
    浏览(40)
  • ElasticSearch-文档查询

    目录 一、查询某个索引下的全部文档 二、根据查询条件查询文档 三、分页查询 四、查询指定返回的字段 五、排序 六、多条件查询 七、范围查询 八、全文检索与完全匹 语法: 例子: 结果: 语法如下,使用query,match查询条件。  例子: 结果:   语法:from和size, from表示

    2024年02月15日
    浏览(32)
  • 【Elasticsearch】DSL查询文档

    目录 1.DSL查询文档 1.1.DSL查询分类 1.2.全文检索查询 1.2.1.使用场景 1.2.2.基本语法 1.2.3.示例 1.2.4.总结 1.3.精准查询 1.3.1.term查询 1.3.2.range查询 1.3.3.总结 1.4.地理坐标查询 1.4.1.矩形范围查询 1.4.2.附近查询 1.5.复合查询 1.5.1.相关性算分 1.5.2.算分函数查询 1)语法说明 2)示例 3)小

    2024年02月16日
    浏览(40)
  • Elasticsearch深入学习 (四) 文档查询

    一、创建索引 创建索引,并指定title字段的类型为keyword,用于精确查询 PUT /my_index {   \\\"settings\\\": {     \\\"number_of_shards\\\": 3,     \\\"number_of_replicas\\\": 2   },   \\\"mappings\\\": {     \\\"properties\\\": {       \\\"title\\\": { \\\"type\\\": \\\"keyword\\\" },       \\\"description\\\": { \\\"type\\\": \\\"text\\\" },       \\\"timestamp\\\": { \\\"type\\\": \\\"date\\\" }  

    2024年02月17日
    浏览(35)
  • Java操作elasticSearch复杂查询以及解析数据以及索引保存数据

    说明:基于银行测试库的操作 es的银行测试库,看一个Kibana操作 然后用java检索解析这个数据 聚合搜索 address 中包含 mill 的所有人的年龄分布以及平均薪资 以下是分解思路实现步骤: #聚合搜索 address 中包含 mill 的所有人的年龄分布以及平均年龄 GET bank/_search { “query”:{ “

    2024年02月10日
    浏览(61)
  • SpringCloud:ElasticSearch之RestClient查询文档

    文档的查询同样适用 RestHighLevelClient 对象,基本步骤包括: 1)准备 Request 对象 2)准备请求参数 3)发起请求 4)解析响应 我们以 match_all 查询为例 1.1.发起查询请求 代码解读: 第一步,创建 SearchRequest 对象,指定索引库名 第二步,利用 request.source() 构建DSL,DSL中可以包含查

    2024年02月03日
    浏览(42)
  • 原生语言操作和spring data中RestHighLevelClient操作Elasticsearch,索引,文档的基本操作,es的高级查询.查询结果处理. 数据聚合.相关性系数打分

    ​ Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasti

    2024年02月05日
    浏览(80)
  • ElasticSearch学习简单使用(索引、文档、分页查询、多条件查询)

    APIfox接口在线文档 安装连接 下载链接(各个系统,也包括docker) 打开 我下载的时window版本,直接就是zip压缩包解压后直接使用 执行bin目录下的这个bat文件,就会自动打开终端运行了。 大部分使用http请求进行学习。 你需要一个接口工具,postman,APIfox,或者一些浏览器插件

    2024年02月03日
    浏览(42)
  • Elasticsearch7.8.0版本入门—— 高亮查询文档(高级查询)

    在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 1 ,请求体内容为: 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 2 ,请求体内容为: 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/ 3 ,请求体内容为: 在 Postman 中,向

    2024年02月01日
    浏览(59)
  • ElasticSearch核心详解、文档、查询响应、分页、映射、结构化查询

    在Elasticsearch中,文档以JSON格式进行存储,可以是复杂的结构,如: 其中,card是一个复杂对象,嵌套的Card对象 元数据(metadata)        一个文档不只有数据。它还包含了元数据(metadata)——关于文档的信息。 三个必须的元数据节点是: index        索引(index)类似于关

    2024年02月12日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包