关于ES的查询
查询结果那么多字段都是什么?
为什么会提到这个问题呢,因为默认ES查询的结果会有很多信息,我们可能并不希望要那么多数据,所以你需要了解这些字段都表示什么,并正确的返回和使用它们。
took– Elasticsearch 运行查询所用的时间(以毫秒为单位)
timed_out– 搜索请求是否超时
_shards– 搜索了多少个分片以及分片数量的细分 成功、失败或被跳过。
max_score– 找到的最相关文件的分数
hits.total.value- 找到的匹配文档数量
hits.sort- 文档的排序位置(不按 Relevance Score 排序时)
hits._score- 文档的相关性分数(在使用match_all)每个搜索请求都是独立的:Elasticsearch 不维护任何 state 信息。要分页浏览搜索结果,请指定 请求中的 and 参数。from size
常见搜索查询示例及解释
注意:我这里先说明一下,下面遇到了可再体会,mappings指定了字段格式,所以查询时与mappings也是有关系的,不同的字段类型查询的语法可能会不同。
从全部数据中排序分页
GET /myes_client_test/_search
{"query": { "match_all": {} }, "sort": [{ "id": "asc" }],"from": 10,"size": 10
}GET /这里是我的索引/_search (本文中只解释这一次哦);
query 表示查询,match_all:{} 表示查询所有(固定格式);
sort 表示结果要按什么规则排序,id是你数据中的字段,支持asc/desc升序/降序;
from 表示跳过多少条开始取值,类似mysql的offset;
size 表示结果要返回多少条数据,类似mysql的limit;
通过上面解释了解哪些是关键字,哪些是自己数据中的字段了吧?需要多加练习
查询数字字段的最大值/最小值
POST /myes_client_test/_search?size=0
{"aggs": {"max_id": { "max": { "field": "id" } }}
}
aggs 表示使用ES聚合模式查询;
max_id 是自定义的,类似SQL中AS的作用‘select max(id) as max_id’为取值时起个好听的名字;
max 是关键字最大值;
field 是关键字,指定按数据中id字段筛选取最大值;
⚠️ size=0 也很重要,因为ES默认会返回10条文档数据,指定size=0表示我们只需要聚合的结果就好了,不需要文档数据。min 是最小值关键字,知道该怎么用了吧?
字符串查询条件
# 例如按姓名查询,在SQL中最常用到条件
name = '张三' (可以利用到索引,性能较好)
name like '张三%' (可以利用到索引,性能较好)
name like '%张三' (不能利用到索引,性能差)
name like '%张三%' (不能利用到索引,性能差)
# 那么上面几种情况在ES如何实现呢?
1.精准查询
POST /_sql?format=txt
{"query": "SELECT * FROM myes_client_test WHERE name = '张玉霞'"
}同
POST /myes_client_test/_search
{"size" : 1,"query" : {"term" : {"name.keyword" : {"value" : "张玉霞"}}},"_source" : true
}
上面 _source 表示是否返回 _source 字段(这里面是完整的数据),不指定"_source"默认为true;
term 表示精准匹配;
曾使用下面方式进行查询,但没有查询出来,那么有什么区别呢?:
{"size": 1, "query": {"term": { "name" : "张玉霞" }}
}
这里就要回看mappings了,我在插入数据时并没有去指定mappings,回看索引设置,发现name字段默认是keyword;将字段设置为keyword类型可以使用term加字段.keyword来精确匹配查询。
2.模糊查询 (like)
POST /myes_client_test/_search
{"size" : 10,"query" : {"wildcard" : {"name.keyword" : {"wildcard" : "张玉*"}}}
}
模糊查询时 size 字段是有效的,如果上面匹配的结果数>10 那么最多返回10条。
wildcard 表示通配符查询,*同SQL中%的效果。
相关文章:
关于ES的查询
查询结果那么多字段都是什么? 为什么会提到这个问题呢,因为默认ES查询的结果会有很多信息,我们可能并不希望要那么多数据,所以你需要了解这些字段都表示什么,并正确的返回和使用它们。 took– Elasticsearch 运行查询…...
数据结构初识
目录 1.初识 2.时间复杂度 常见时间复杂度举例: 3.空间复杂度 4.包装类&简单认识泛型 4.1装箱和拆箱 5.泛型 6.泛型的上界 7.泛型方法 8.List接口 1.初识 1.多画图 2.多思考 3.多写代码 4.多做题 牛客网-题库/在线编程/剑指offer 算法篇:…...
保存数据到Oracle时报错ORA-17004: 列类型无效: 1111
1、问题描述: 关键信息:Mybatis;Oracle (1)保存信息到Oracle时报错: Caused by: org.apache.ibatis.type.TypeException: Error setting null for parameter #10 with JdbcType OTHER . Try setting a dif…...
Excel——宏教程(1)
Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。…...
论文浅尝 | MindMap:知识图谱提示激发大型语言模型中的思维图(ACL2024)
笔记整理:和东顺,天津大学硕士,研究方向为软件缺陷分析 论文链接:https://aclanthology.org/2024.acl-long.558/ 发表会议:ACL 2024 1. 动机 虽然大语言模型(LLMs)已经在自然语言理解和生成任务…...
第6章:TDengine 标签索引和删除数据
TDengine 标签索引和删除数据 目标 掌握标签索引的创建、删除掌握超表、子表创建以及数据删除删除数据 删除数据是 TDengine 提供的根据指定时间段删除指定表或超级表中数据记录的功能,方便用户清理由于设备故障等原因产生的异常数据。 注意:删除数据并不会立即释放该表所…...
【微软:多模态基础模型】(5)多模态大模型:通过LLM训练
欢迎关注[【youcans的AGI学习笔记】](https://blog.csdn.net/youcans/category_12244543.html)原创作品 【微软:多模态基础模型】(1)从专家到通用助手 【微软:多模态基础模型】(2)视觉理解 【微…...
海外带云仓多语言商城源码,多语言多商家云仓一键代发商城
新增海外仓,云仓国际供应链系统,商家可登陆云仓进行批量发货 商城修复了一些bug以及增加了订单数字提示,优化加载速度,二开了一些细微功能 基于 PHP Laravel 框架开发的一款 Web 商城系统。 1.前端多国语言自由切换,…...
android:taskAffinity 对Activity退出时跳转的影响
android:taskAffinity 对Activity跳转的影响 概述taskAffinity 的工作机制taskAffinity对 Activity 跳转的影响一个实际的开发问题总结参考 概述 在 Android 开发中,任务栈(Task)是一个核心概念。它决定了应用程序的 Activity 如何相互交互以…...
Apache Dolphinscheduler数据质量源码分析
Apache DolphinScheduler 是一个分布式、易扩展的可视化数据工作流任务调度系统,广泛应用于数据调度和处理领域。 在大规模数据工程项目中,数据质量的管理至关重要,而 DolphinScheduler 也提供了数据质量检查的计算能力。本文将对 Apache Do…...
solana链上智能合约开发案例一则
环境搭建 安装Solana CLI:Solana CLI是开发Solana应用的基础工具。你可以通过官方文档提供的安装步骤,在本地环境中安装适合你操作系统的Solana CLI版本。安装完成后,使用命令行工具进行配置,例如设置网络环境(如开发网…...
使用 PyTorch 实现 ZFNet 进行 MNIST 图像分类
在本篇博客中,我们将通过两个主要部分来演示如何使用 PyTorch 实现 ZFNet,并在 MNIST 数据集上进行训练和测试。ZFNet(ZFNet)是基于卷积神经网络(CNN)的图像分类模型,广泛用于图像识别任务。 环…...
车轮上的科技:Spring Boot汽车新闻集散地
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理汽车资讯网站的相关信息成为必然。开发合适…...
IDEA2023 SpringBoot整合Web开发(二)
一、SpringBoot介绍 由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SpringBoot提供了一种新的编程范式,可以更加快速便捷…...
国产三维CAD 2025新动向:推进MBD模式,联通企业设计-制造数据
本文为CAD芯智库原创整理,未经允许请勿复制、转载! 上一篇文章阿芯分享了影响企业数字化转型的「MBD」是什么、对企业优化产品设计流程有何价值——这也是国产三维CAD软件中望3D 2024发布会上,胡其登先生(中望软件产品规划与GTM中…...
ubuntu 之 安装mysql8
安装 # 如果 ubuntu 版本 > 20.04 则不用执行 wget 这步 wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.debsudo apt-get updatesudo apt-get install mysql-server mysql-client 安装过程中如果没有提示输入密码 sudo cat /etc/mysql/debian.cnf # 查…...
Flink Lookup Join(维表 Join)
Lookup Join 定义(支持 Batch\Streaming) Lookup Join 其实就是维表 Join,比如拿离线数仓来说,常常会有用户画像,设备画像等数据,而对应到实时数仓场景中,这种实时获取外部缓存的 Join 就叫做维…...
Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!
作者:来自 Elastic Panagiotis Bailis Elasticsearch 检索器经过了重大改进,现在可供所有人使用。了解其架构和用例。 在这篇博文中,我们将再次深入探讨检索器(retrievers)。我们已经在之前的博文中讨论过它们…...
【并发模式】Go 常见并发模式实现Runner、Pool、Work
通过并发编程在 Go 程序中实现的3种常见的并发模式。 参考:https://cloud.tencent.com/developer/article/1720733 1、Runner 定时任务 Runner 模式有代表性,能把(任务队列,超时,系统中断信号)等结合起来…...
【前端知识】Javascript前端框架Vue入门
前端框架VUE入门 概述基础语法介绍组件特性组件注册Props 属性声明事件组件 v-model(双向绑定)插槽Slots内容与出口 组件生命周期样式文件使用1. 直接在<style>标签中写CSS2. 引入外部CSS文件3. 使用CSS预处理器4. 在main.js中全局引入CSS文件5. 使用CSS Modules6. 使用P…...
Springboot3.3.5 启动流程之 Bean创建流程
在文章Springboot3.3.5 启动流程(源码分析)中我们只是粗略的介绍了bean 的装配(Bean的定义)流程和实例化流程分别开始于 finishBeanFactoryInitialization 和 preInstantiateSingletons. 其实,在Spring boot中,Bean 的装配是多阶段的…...
golang反射函数注册
package main import ( “fmt” “reflect” ) type Job interface { New([]interface{}) interface{} Run() (interface{}, error) } type DetEd struct { Name string Age int } // 为什么这样设计 // 这样就避免了 在创建新的实例的之后 结构体的方法中接受者为指针类型…...
【Spring】Bean
Spring 将管理对象称为 Bean。 Spring 可以看作是一个大型工厂,用于生产和管理 Spring 容器中的 Bean。如果要使用 Spring 生产和管理 Bean,那么就需要将 Bean 配置在 Spring 的配置文件中。Spring 框架支持 XML 和 Properties 两种格式的配置文件&#…...
深入解析TK技术下视频音频不同步的成因与解决方案
随着互联网和数字视频技术的飞速发展,音视频同步问题逐渐成为网络视频播放、直播、编辑等过程中不可忽视的技术难题。尤其是在采用TK(Transmission Keying)技术进行视频传输时,由于其特殊的时序同步要求,音视频不同步现…...
为什么要使用Ansible实现Linux管理自动化?
自动化和Linux系统管理 多年来,大多数系统管理和基础架构管理都依赖于通过图形或命令行用户界面执行的手动任务。系统管理员通常使用清单、其他文档或记忆的例程来执行标准任务。 这种方法容易出错。系统管理员很容易跳过某个步骤或在某个步骤上犯错误。验证这些步…...
Android:任意层级树形控件(有效果图和Demo示例)
先上效果图: 1.创建treeview文件夹 2.treeview -> adapter -> SimpleTreeAdapter.java import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ListView; i…...
C++ 容器全面剖析:掌握 STL 的奥秘,从入门到高效编程
引言 C 标准模板库(STL)提供了一组功能强大的容器类,用于存储和操作数据集合。不同的容器具有独特的特性和应用场景,因此选择合适的容器对于程序的性能和代码的可读性至关重要。对于刚接触 C 的开发者来说,了解这些容…...
C++---类型转换
文章目录 C的类型转换C的4种强制类型转换RTTI C的类型转换 类型转换 内置类型之间的转换 // a、内置类型之间 // 1、隐式类型转换 整形之间/整形和浮点数之间 // 2、显示类型的转换 指针和整形、指针之间 int main() {int i 1;// 隐式类型转换double d i;printf("%d…...
CSS基础学习练习题
编程题 1.为下面这段文字定义字体样式,要求字体类型指定多种、大小为14px、粗细为粗体、颜色为蓝色。 “有规划的人生叫蓝图,没规划的人生叫拼图。” 代码: <!DOCTYPE html> <html lang"en"> <head><me…...
TypeScript知识点总结和案例使用
TypeScript 是一种由微软开发的开源编程语言,它是 JavaScript 的超集,提供了静态类型检查和其他一些增强功能。以下是一些 TypeScript 的重要知识点总结: 1. 基本类型 TypeScript 支持多种基本数据类型,包括: numbe…...
微网站是用什么代码制作/沈阳网站关键词排名
重要 大环境对于我们能力要求越来越高,医学专家又说今年冬天新冠肺炎将“席卷重来”。 如果疫情再次爆发,势必将再次影响企业的正常运作,一波裁员浪潮你又能否抗住? 不管如何,明年金三银四又是一波跳槽时机…...
南宁市建设局网站/廊坊百度关键词排名平台
***的组成 到了今天,***已经不是象以前那种少数现象,他们已经发展成网络上的一个独特的群体。他们有着与常人不同的理想和追求,有着自己独特的行为模式,网络上现在出现了很多由一些志同道合的人组织起来的***组织。但是这些人…...
网站建设制作设计公司哪家好/php免费开源crm系统
// 1、引入命名空间Ext.namespace("ExtUD.Ext");//相当于java中包的作用// 2、编写自定义控件类ExtUD.Ext.UDPanel Ext.extend(Ext.Panel, { title : 自定义控件, html:自定义控件面板, layout:fit, getAlert:function(){alert(自定义控件函数!)…...
泰安房产网签查询/做专业搜索引擎优化
前言: 之前已经对FFmpeg命令进行了封装http://blog.csdn.net/eguid_1/article/details/51787646,但是当时没有考虑到扩展性,所以总体设计不是太好,需要改动的地方也比较多,也不支持原生ffmpeg命令,所以本次…...
如何做设计网站页面设计/seo是什么意思电商
今天比较闲就想着整理一下各个服务器的硬盘空间。就发现在目录/var/spool/clientmqueue目录下有N多零碎文件占用了大量空间然后我就想/var/spool/clientmqueue这个目录干嘛用的 谷歌了下,原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cro…...
wordpress安装主题后不够/seo首页网站
一 创建私有仓库 # 1、拉取私有仓库镜像 docker pull registry # 2、启动私有仓库容器 docker run -id --nameregistry -p 5000:5000 registry # 3、打开浏览器 输入地址http://私有仓库服务器ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓…...