【ElasticSearch】02 查询操作
准备样本:
# PUT
http://127.0.0.1:9200/student/
推5个文档进索引:
# POST
http://localhost:9200/student/_doc/1001
{
"name":"zhangsan",
"nickname":"zhangsan",
"sex":"男",
"age":30
} # POST
http://localhost:9200/student/_doc/1002
{
"name":"lisi",
"nickname":"lisi",
"sex":"男",
"age":20
} # POST
http://localhost:9200/student/_doc/1003
{
"name":"wangwu",
"nickname":"wangwu",
"sex":"女",
"age":40
} # POST
http://localhost:9200/student/_doc/1004
{
"name":"zhaoliu",
"nickname":"zhaoliu",
"sex":"女",
"age":30
} # POST
http://localhost:9200/student/_doc/1005
{
"name":"qianqi",
"nickname":"qianqi",
"sex":"女",
"age":50
}
查询操作:
查询索引下的所有文档:
http://127.0.0.1:9200/student/_search
结果:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 3,
"relation": "eq"
},
"max_score": 1.0,
"hits": [
{
"_index": "student",
"_type": "_doc",
"_id": "ui1dlX4BrIYsUbCa81Wh",
"_score": 1.0,
"_source": {
"name": "Cloud9",
"gender": "male",
"age": 24
}
},
{
"_index": "student",
"_type": "_doc",
"_id": "1001",
"_score": 1.0,
"_source": {
"name": "Cloud9",
"gender": "male",
"age": 24
}
},
{
"_index": "student",
"_type": "_doc",
"_id": "1002",
"_score": 1.0,
"_source": {
"name": "Cloud9",
"gender": "male",
"age": 24
}
}
]
}
}
查询参数:
默认查询无条件,等同于这个条件:
{
"query": {
"match_all": {}
}
}
# "query":这里的 query 代表一个查询对象,里面可以有不同的查询属性
# "match_all":查询类型,例如:match_all(代表查询所有), match,term , range 等等
# {查询条件}:查询条件会根据类型的不同,写法也有差异
匹配K键"name"为”zhangsan“的文档
{
"query": {
"match": {
"name": "zhangsan"
}
}
}
匹配多个字段取值查询
{
"query": {
"multi_match": {
"query": "zhangsan",
"fields": [
"name",
"nickname"
]
}
}
}
精准查询
{
"query": {
"term": {
"name": {
"value": "zhangsan"
}
}
}
}
多字段精准查询
{
"query": {
"terms": {
"name": [
"zhangsan",
"lisi"
]
}
}
}
筛选指定字段展示:
{
"_source": [
"name",
"nickname"
],
"query": {
"terms": {
"nickname": [
"zhangsan"
]
}
}
}
包含,或者排除字段:
{
"_source": {
"excludes": [ "name", "nickname" ],
"includes": ["name","nickname"]
},
"query": {
"terms": {
"nickname": [
"zhangsan"
]
}
}
}
组合条件查询
must,必须匹配
must_not, 必须不匹配
should, 应该匹配
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "zhangsan"
}
}
],
"must_not": [
{
"match": {
"age": "40"
}
}
],
"should": [
{
"match": {
"sex": "男"
}
}
]
}
}
}
范围查询
gt 大于
lt 小于
gte 大于等于
lte 小于等于
{
"query": {
"range": {
"age": {
"gte": 30,
"lte": 35
}
}
}
}
模糊查询
{
"query": {
"fuzzy": {
"title": {
"value": "zhangsan"
}
}
}
}
查询排序
{
"query": {
"match": {
"name": "zhangsan"
}
},
"sort": [
{ "age": { "order": "desc" } }
]
}
多个字段查询排序
{
"query": {
"match_all": {}
},
"sort": [
{ "age": { "order": "desc" } },
{ "_score": { "order": "desc" } }
]
}
{
"query": {
"match": {
"name": "zhangsan"
}
},
"highlight": {
"pre_tags": "<font color='red'>",
"post_tags": "</font>",
"fields": {
"name": {}
}
}
}
{
"query": {
"match_all": {}
},
"sort": [
{ "age": { "order": "desc" } }
],
"from": 0,
"size": 2
}
聚合查询
取最大值
# 获取age值最大的文档
{
"aggs": {
"max_age": {
"max": { "field": "age" }
}
},
"size": 0
}
取最小值
{
"aggs": {
"min_age": {
"min": { "field": "age" }
}
},
"size": 0
}
求和
{
"aggs": {
"sum_age": { "sum": { "field": "age" } }
},
"size": 0
}
求平均
{
"aggs": {
"avg_age": { "avg": { "field": "age" } }
},
"size": 0
}
{
"aggs": {
"distinct_age": { "cardinality": { "field": "age" } }
},
"size": 0
}
state属性,一次性返回所有聚合值,max,min,sum,avg,count
{
"aggs": {
"stats_age": {
"stats": {
"field": "age"
}
}
},
"size": 0
}
桶聚合操作
{
"aggs": {
"age_groupby": {
"terms": {
"field": "age"
}
}
},
"size": 0
}
【ElasticSearch】02 查询操作的更多相关文章
- ElasticSearch+Kibana 索引操作
ElasticSearch+Kibana 索引操作 一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引 ...
- 基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(1)
本文描述了一个系统,功能是评价和抽象地理围栏(Geo-fencing),以及监控和分析核心地理围栏中业务的表现. 技术栈:Spring-JQuery-百度地图WEB SDK 存储:Hive-Elast ...
- elasticsearch(3) 数据操作-更新
一 更新整个文档 更新整个文档的方法和存放数据的方式是相同的,通过PUT 127.0.0.1/test/test/1 我们可以把test/test/1下的文档更新为新的文档 例: PUT 127.0 ...
- elasticsearch的索引操作和文档操作总结
参考文档:https://es.xiaoleilu.com/010_Intro/00_README.html 一.索引操作 1.查看当前节点的所有的index 查看当前节点的所有的index [roo ...
- ElasticSearch之CURL操作(有空再去整理)
https://www.cnblogs.com/jing1617/p/8060421.html ElasticSearch之CURL操作 CURL的操作 curl是利用URL语法在命令行方式下工 ...
- elasticsearch 关联查询
父-子关系文档 父-子关系文档 在实质上类似于 nested model :允许将一个对象实体和另外一个对象实体关联起来. 而这两种类型的主要区别是:在 nested objects 文档中,所有对象 ...
- ElasticSearch 常用查询语句
为了演示不同类型的 ElasticSearch 的查询,我们将使用书文档信息的集合(有以下字段:title(标题), authors(作者), summary(摘要), publish_date(发布 ...
- Elasticsearch基本CURD操作语法讲解
当我们的ES集群搭建完成以后,我怎么能看到集群中各个节点状态以及主节点和健康情况呢,如下讲解使用curl命令来与ES集群进行交互.分别有查询主节点情况.集群状态.以及创建索引查看索引.查看分片以及对E ...
- ElasticSearch DSL 查询
公号:码农充电站pro 主页:https://codeshellme.github.io DSL(Domain Specific Language)查询也叫做 Request Body 查询,它比 U ...
- MySQL 查询操作
目录 基本语法 查询常量 查看表达式 查询函数 查询指定字段 查询所有列 列别名 表别名 条件查询 条件查询运算符 逻辑查询运算符 排序与分页 排序查询(order by) 排序方式 limit 分组 ...
随机推荐
- 开源一站式敏捷测试管理平台 itest(爱测试) 6.6.1 发布,安全升级及新增强
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行 ...
- C#开源实用的工具类库,集成超过1000多种扩展方法
前言 今天大姚给大家分享一个C#开源(MIT License).免费.实用且强大的工具类库,集成超过1000多种扩展方法增强 .NET Framework 和 .NET Core的使用效率:Z.Ext ...
- INFINI Labs 产品更新 | Console 告警中心 UI 全新改版,新增 Dashboard 全屏模式等功能
本次 INFINI Labs 产品更新主要发布 Console v1.7.0,重点优化了 Console 告警中心和数据看板 Dashboard 可视化功能.详细介绍如下: 优化告警中心 UI 上个版 ...
- WIndow Server 2019 服务器 MinIO下载并IIS配置反向代理
1.官网下载并配置 下载MinIO Serve地址(不需要安装,放在目录就行) https://dl.min.io/server/minio/release/windows-amd64/minio.e ...
- 认真学习CSS3-问题收集-101号-莫名其妙的row行高
其他人都有事情,有些事情只好自己上阵,自己做,最踏实! 做了两个基本一样的页面,都是采用bootsrap+jquey+js的技术,业务内容就是简单的查询,加上一些简单的效果,没有啥特别的内容. 由于历 ...
- 使用Spleete进行人声与背景声分离
安装:https://pypi.org/project/spleeter/ 下载权重: 2sterms.tar.gz https://github.com/deezer/spleeter/releas ...
- 『vulnhub系列』BEELZEBUB- 1
『vulnhub系列』BEELZEBUB- 1 下载地址: https://www.vulnhub.com/entry/beelzebub-1,742/ 信息搜集: 使用nmap扫描存活主机,发现主机 ...
- 【论文阅读】Causal Imitative Model for Autonomous Driving
Sensor/组织: EPFL Sharif University of Technology Status: Finished Summary: 看看框架图就行.高效缓解因果混淆问题,将因果作为学习 ...
- 3.8折年终钜惠,RK3568J国产工业评估板
3.8折年终钜惠,RK3568J国产工业评估板活动火热进行中,错过等一年! -核心板国产化率100%,提供报告-瑞芯微四核ARM Cortex-A55@1.8GHz-4K视频解码.1080P视频编码. ...
- 全志T113-i+玄铁HiFi4开发板硬件说明书(2)
前 言 本文档主要介绍开发板硬件接口资源以及设计注意事项等内容,测试板卡为全志T113-i+玄铁HiFi4开发板,由于篇幅问题,本篇文章共分为上下两集,点击账户可查看更多内容详情,开发问题欢迎留言,感 ...