Elasticsearch基础条件查询

条件查询

query:查询
match:匹配
match_all:匹配所有

#第一种
GET /shopping/_search?q=名字:张三#第二种
GET /shopping/_search
{"query": {"match": {"名字": "张三"}}
}#全量查询 match_all
GET /shopping/_search
{"query": {"match_all": {}}
}
分页查询

from开始计算公式:(页码-1) * 每页数据条数
from:表示从第几行开始
size:表示查询多少条文档

#查询从0行开始
GET /shopping/_search
{"query": {"match_all": {}},"from": 0,"size": 2
}#数据源过滤,只查找_source包含名字的行
GET /shopping/_search
{"query": {"match_all": {}},"from": 0,"size": 2,"_source": ["名字"]
}
查询排序

order:排序
desc:降序

# 降序排序,按照年龄降序搜索名字
GET /shopping/_search
{"query": {"match_all": {}},"_source": ["名字"],"sort": {"年龄":{"order" : "desc"}}
}
多条件查询

bool:条件
must:类似and,必须 多条件同时成立

#条件同时成立,名字为张三和年龄为36岁
GET /shopping/_search
{"query": {"bool":{"must": [{"match": {"名字": "张三"}},{"match": {"年龄": 36}}]}}
}

should:查询类似or,或者

#条件为搜索名字为张三或李四
GET /shopping/_search
{"query": {"bool":{"should": [{"match": {"名字": "张三"}},{"match": {"名字": "李四"}}]}}
}
范围查询

filter:过滤
range:范围
gte:大于
lte:小于

#条件查询名字张三或李四年龄大于35岁到40岁之间
GET /shopping/_search
{"query": {"bool":{"should": [{"match": {"名字": "张三"}},{"match": {"名字": "李四"}}],"filter": [{"range": {"年龄": {"gte": 35,"lte": 40}}}]}}
}
全文检索

在es中,有文字的一部分也能正常查询到数据,es会将内容分词在倒排索引中匹配,比如“张三”,匹配“张”或者“三”都会进行匹配

GET /shopping/_search
{"query": {"match": {"名字": "张"}}
}GET /shopping/_search
{"query": {"match": {"名字": "三"}}
}

在这里插入图片描述

完全匹配

match_phrase:完全匹配

GET /shopping/_search
{"query": {"match_phrase": {"名字": "张三"}}
}
高亮查询

highlight:高亮字段
其实就是特殊的内容进行样式的设定

#对名字高亮显示
GET /shopping/_search
{"query": {"match_phrase": {"名字": "张三"}},"highlight": {"fields": {"名字": {}}}
}

在这里插入图片描述

聚合查询

aggs:聚合操作

#将所有年龄分组分别统计出来
GET /shopping/_search
{"aggs":{ //聚合操作"age_group": { //统计结果名称,命名随意"terms": { //分组操作"field": "年龄"  //分组字段}}}
}

在这里插入图片描述

GET /shopping/_search
{"aggs":{ //聚合操作"age_group": { //统计结果名称,命名随意"terms": { //分组操作"field": "年龄"  //分组字段}}},"size": 0 //取消原始数据,只保留统计后数据
}
#统计结果为年龄的平均值
GET /shopping/_search
{"aggs":{ //聚合操作"age_agv": { //统计结果名称,命名随意,"avg": { //分组操作"field": "年龄"  //分组字段}}},"size": 0
}
映射关系

properties:特性
sex:性别
keyword:关键字

#创建索引,并定义映射
PUT /user
PUT /user/_mapping
{"properties" : {"name" : {"type" : "text","index" : true},"sex": {"type" : "keyword", //关键字,完全匹配"index" : true},"phone": {"type": "keyword", //关键字,完全匹配"index" : false}}
}
#user索引创建数据
PUT /user/_create/1001
{"name": "小米","sex": "man","phone": 123456789
}
#查询name模糊匹配值存在,因为创建时type为text
GET /user/_search
{"query": {"match": {"name": "小"}}
}#查询sex模糊匹配值为空,因为创建时type为keyword
GET /user/_search
{"query": {"match": {"sex": "ma"}}
}#查询phone匹配为空,因为创建时index为false,不能被索引查询
GET /user/_search
{"query": {"match": {"phone": "123456"}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/189444.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Looker Studio | 带来强大的探索、更新鲜的数据和更快的过滤

【信息来源 Google Cloud。Cloud Ace 是 Google Cloud 全球战略合作伙伴。】 Looker Studio 支持对临时数据进行自助分析,并与 Looker 一起为每月访问 Looker 系列产品的超过 1000 万用户做出贡献。今天,谷歌云为分析师推出新方法,为业务用户…

Java进阶笔记(面向对象后, 持续更新)

常用API 游戏打包成exe 考虑的因素 要有图形化界面代码要打包起来游戏用到的图片也要打包JDK也要打包 核心步骤 把所有代码打包成一个压缩包, jar后缀的压缩包把jar包转换成exe安装包把第二部的exe, 图片, JDK整合在一起, 变成最终的exe安装包 1. Math 是一个帮助我们用…

机器学习第8天:线性SVM分类

文章目录 介绍 特征缩放 示例代码 硬间隔与软间隔分类 主要代码 代码解释 结语 介绍 作用:判别种类 原理:找出一个决策边界,判断数据所处区域来识别种类 简单介绍一下SVM分类的思想,我们看下面这张图,两种分类都…

基于R语言平台Biomod2模型的物种分布建模与可视化分析

!](https://img-blog.csdnimg.cn/84e1cc8c7f9b4b6ab60903ffa17d82f0.jpeg#pic_center)

接口测试 —— 接口测试的意义

1、接口测试的意义(优势) (1)更早的发现问题: 不少的测试资料中强调,测试应该更早的介入到项目开发中,因为越早的发现bug,修复的成本越低。 然而功能测试必须要等到系统提供可测试…

前端uniapp列表下拉到底部加载下一页列表【下拉加载页面/带源码/实战】

目录 一. 图片1.2. 二.list.vue三.uni-load-more.vue最后 一. 图片 1. 2. 二.list.vue <template><view><!--列表--><scroll-view scroll-y"true" class"scroll-Y" :style"height: scrollviewHigh px;" lower-threshol…

股票价格预测 | Python实现基于CNN卷积神经网络的股票预测模型(keras,Conv1D)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 股票价格预测 | Python实现基于CNN卷积神经网络的股票预测模型(keras) 源码设计 import quandl import datetimedf = quandl

Jenkins自动化部署一个Maven项目

Jenkins自动化部署 提示&#xff1a;本教程基于CentOS Linux 7系统下进行 Jenkins的安装 1. 下载安装jdk11 官网下载地址&#xff1a;https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html 本文档教程选择的是jdk-11.0.20_linux-x64_bin.tar.g…

如何优化谷歌商店里应用的评分评论2

在做应用评分优化前&#xff0c;我们需要考虑用户以及他们如何在不浪费太多时间的情况下分享反馈。 1、及时妥善的回复评论。 许多潜在用户在决定下载应用之前都会查看评论。回复正面和负面评论&#xff0c;向用户表明我们重视他们的反馈。回复用户评论是一个改善应用公众形象…

AODNet

【20231117】读研期间没有对阅读的文章进行总结&#xff0c;没想到毕业反而有了机会。即日起会对阅读过的文章要点进行梳理记录&#xff0c;希望这一习惯能够坚持下去。 学术的角度&#xff1a;看论文要学习作者如何逻辑严谨的自证 落地的角度&#xff1a;只用看以下六点&#…

一个美观且功能丰富的 .NET 控制台应用程序开源库

推荐一个美观且功能丰富的 .NET 控制台应用程序开源库&#xff0c;从此告别黑漆漆的界面。 01 项目简介 Spectre.Console 是一个开源的 .NET 库&#xff0c;用于创建美观、功能丰富的控制台&#xff08;命令行&#xff09;应用程序。它提供了一组易于使用的 API&#xff0c;…

cocos----刚体

刚体&#xff08;Rigidbody&#xff09; 刚体&#xff08;Rigidbody&#xff09;是运动学&#xff08;Kinematic&#xff09;中的一个概念&#xff0c;指在运动中和受力作用后&#xff0c;形状和大小不变&#xff0c;而且内部各点的相对位置不变的物体。在 Unity3D 中&#xff…