ElasticSearch:查询操作合集

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

先看下我的数据:
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

1、查询所有文档:

GET /cartest/_search

或者

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

2、匹配查询:

match匹配类型查询,会把查询条件进行分词,然后进行查询,多个词条之间是or的关系

GET /cartest/_search
{
  "query": {
    "match": {
      "name": "风云"
    }
  }
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

3、字段匹配查询:

multi_match 与match类似,不同的是它可以在多个字段中查询。

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

4、关键字精准查询:

这个term查询不对查询条件进行分词,
要是text文本类型就会出错,keyword可以进行此类查询

这里我们查 name:风云 就什么都没查到
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
向 cartest 中再加一个keyword类型的class字段

PUT /cartest/_mapping
{
	 "properties": {
		 "class":{
			 "type": "keyword",
			 "index": true
		 }
	 } 
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
添加一条数据

POST /cartest/_doc
{
  "name": "wang",
  "page": "cn",
  "say": "欢迎",
  "time": "2020-12-11",
  "class": "box"
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
我们再次查询:

GET /cartest/_search
{
   "query": {
     "term": {
       "class": {
        "value": "box"
       }
     }
   }
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

5、多关键字查询:

terms 查询和term 查询一样,但它允许你指定多值进行匹配。
如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件,类似于 mysql 的 in
当然,一定要记得查询的字段为关键字keyword类型,不然查不到内容

GET /cartest/_search
{
   "query": {
     "terms": {
       "class": ["box", "box-1"]
     }
   }
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

6、组合查询:

bool把各种其它查询通过must(必须 )、must_not(必须不)、should(应该)的方式进行组合

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

7、范围查询:

操作符 说明
gt 大于>
gte 大于等于>=
lt 小于<
lte 小于等于<=

查询 num 100 - 150之间的数据

GET /cartest/_search
{
  "query": {
   "range": {
     "num": {
       "gte": 100,
       "lte": 150
     }
   }
  }
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
查询 04 - 06号之间的数据
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

8、分页查询+排序:

也可设置多字段排序,主次为代码顺序

GET /cartest/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "num": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 3
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
当然也可以按时间排序
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
9、查询需要的字段

GET /cartest/_search
{
  "_source": ["name", "time", "num"],
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "time": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 3
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
10、过滤查询:

includes:来指定想要显示的字段
excludes:来指定不想要显示的字段

只显示 name time 字段
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
不显示 name time 字段
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据

11、聚合查询:

聚合允许使用者对 es 文档进行统计分析,类似与关系型数据库中的 group by,当然还有很
多其他的聚合,例如取最大值、平均值等等。

获取 num 最大值,size是 hits中数值的数量

GET /cartest/_search
{
  "aggs": {
    "max_age": {
      "max": {
        "field": "num"
      }
    }
  },
  "size": 0
}

ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据
平均值:
ElasticSearch:查询操作合集,elasticsearch,elasticsearch,大数据文章来源地址https://www.toymoban.com/news/detail-856172.html

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

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

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

相关文章

  • go-elasticsearch 官方包操作合集

    2024年02月11日
    浏览(33)
  • Elasticsearch实战(十七)---ES搜索如何使用In操作查询及如何Distinct去除重复数据

    Elasticsearch实战-ES搜索如何使用In操作查询filter过滤及如何Distinct去除重复数据 场景: ES搜索, 获取手机号是 19000001111 或者 19000003333 后者 19000004444 的人, 并且 性别是男, 且 年龄是[20-30]的人,这种查询用mysql 如何实现 ? 在mysql中会用in查询, 但是在ES中 我们实现就是 term

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

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

    2024年02月05日
    浏览(86)
  • ElasticSearch常用查询操作

         一般我们使用ES最多的就是查询,今天就讲一下ES的查询。这里我是建了一个person的索引。 1.查询所有数据并进行排序 说明:这里是一个GET请求,person代表索引,_search表示搜索(固定写法)。 \\\"query\\\"表示查询。“match_all”表示查询所有。后面的sort就表示要对查询结果进行

    2024年02月11日
    浏览(43)
  • elasticsearch查询操作(语句方式)

    说明:本文介绍在kibana,es的可视化界面上对文档的查询操作; 先使用API,创建索引库,并且把数据从MySQL中查出来,传到ES上,参考(elasticsearch操作(API方式)) 索引库(student)结构; 模糊查询,是指字段类型是“text”,参与分词的字段,如name、all字段; (1)全部查询

    2024年02月04日
    浏览(39)
  • 五、elasticsearch查询操作

           目录 数据准备 1、查询指定字段包含指定内容的文档 2、指定输出的文档字段查询(“_source”) 3、排序查询(默认根据指定字段升序asc排序)(“sort”) 4、分页查询 5、布尔查询(多条件查询) 6、数据过滤(“filter”) 7、精确查询(term) 8、两个类型text和keywor

    2024年02月09日
    浏览(23)
  • elasticsearch查询操作(API方式)

    说明:elasticsearch查询操作除了使用DSL语句的方式(参考:elasticsearch查询操作(语句方式)),也可以使用API的方式。 使用前需先导入依赖 创建一个测试类,查询操作代码都写在测试类里面,首先先建立RestHighLevelClient的连接 (1)全部查询; 查询student索引库的所有文档;

    2024年02月14日
    浏览(38)
  • Elasticsearch查询结果高亮操作实战

    在进行搜索时,搜索出的内容中的会显示不同的颜色,称之为高亮 百度搜索\\\"狂飙\\\",如下所示: 或者在淘宝搜索“手机”,如下所示: 我们可以发现搜索的在搜索到的信息上都变成了红色高亮 通过开发者工具查看高亮数据的html代码实现: Elastic

    2024年02月12日
    浏览(72)
  • 七、ElasticSearch-高级查询操作三

    在进行搜索时,搜索出的内容中的会显示不同的颜色,称之为高亮。 Elasticsearch 可以对查询内容中的部分,进行标签和样式 ( 高亮 ) 的设置。 在使用 match 查询的同时,加上一个 highlight 属性: pre_tags :前置标签 post_tags :后置标签 fields :需要高亮的字段

    2023年04月08日
    浏览(32)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文档、查询操作(二)

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

    2024年01月16日
    浏览(90)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包