ElasticSearch基础篇-条件查询与映射
ElasticSearch基础篇二
条件查询
GET http://10.192.193.98:9200/shopping/_search?q=title:小米手机
- q:代表查询条件
响应结果
{"took": 772,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 4,"relation": "eq"},"max_score": 0.42144203,"hits": [{"_index": "shopping","_type": "_doc","_id": "NunonIkBDJDpQI3ST7tm","_score": 0.42144203,"_source": {"title": "小米手机","category": "小米","images": "http://www.gulixueyuan.com/xm.jpg","price": 3999.00}},{"_index": "shopping","_type": "_doc","_id": "N-nonIkBDJDpQI3SXrt6","_score": 0.42144203,"_source": {"title": "小米手机","category": "小米","images": "http://www.gulixueyuan.com/xm.jpg","price": 3999.00}},{"_index": "shopping","_type": "_doc","_id": "OOnonIkBDJDpQI3SbLvp","_score": 0.42144203,"_source": {"title": "小米手机","category": "小米","images": "http://www.gulixueyuan.com/xm.jpg","price": 3999.00}},{"_index": "shopping","_type": "_doc","_id": "OenonIkBDJDpQI3ScbtO","_score": 0.42144203,"_source": {"title": "小米手机","category": "小米","images": "http://www.gulixueyuan.com/xm.jpg","price": 3999.00}}]}
}
🔖 由于在域名后面添加查询条件不是很方便,所以我们一般使用json格式发送查询条件
匹配查询
GET http://10.192.193.98:9200/shopping/_search{"query":{"match":{"category":"小米"}}
}
- query:代表查询条件
- match:匹配查询
全量查询
GET http://10.192.193.98:9200/shopping/_search{"query":{"match_all":{}}
}
- match_all:匹配所有
分页查询
GET http://10.192.193.98:9200/shopping/_search
{"query":{"match_all":{}},"from":0,"size":2
}
- from:起始位置 (页码-1)*每页数据条数
- size: 分页大小
字段过滤
GET http://10.192.193.98:9200/shopping/_search{"query":{"match_all":{}},"_source":["title"]
}
- _source:设置需要返回的字段
排序
GET http://10.192.193.98:9200/shopping/_search{"query":{"match_all":{}},"sort":{"price":{"order":"desc"}}
}
- sort:设置排序
- order:排序方式
asc
desc
多条件查询
GET http://10.192.193.98:9200/shopping/_search{"query":{"bool":{"must":[{"match":{"category":"小米"}},{"match":{"title":"小米手机"}}]}}
}
- bool:用于构建复杂查询的查询类型。它允许你组合多个查询条件,bool 查询由三个部分组成
- must:所有的查询条件都必须匹配才会返回文档。
- must_not:所有的查询条件都不能匹配才会返回文档。
- should:至少有一个查询条件匹配,但不是必须的
GET http://10.192.193.98:9200/shopping/_search{"query":{"bool":{"should":[{"match":{"category":"小米"}},{"match":{"category":"华为"}}]}}
}
范围查询
GET http://10.192.193.98:9200/shopping/_search{"query":{"bool":{"should":[{"match":{"category":"小米"}},{"match":{"category":"华为"}}],"filter":{"range":{"price":{"gt":2598}}}}}
}
- filter:一种用于限制搜索结果的查询子句,它用于过滤掉不符合特定条件的文档,而不会对相关性进行计算,过滤器(filter)不会影响搜索结果的相关性得分。相比于查询,过滤器更适合用于筛选文档
- range:设置范围
完全匹配
GET http://10.192.193.98:9200/shopping/_search{"query":{"match_phrase":{"category":"小"}}
}
- match_phrase:代表完全匹配,不会对查询条件中的内容进行分词
❗️如果使用match则为全文检索模式,会对查询条件中的内容进行分词,返回包含具有查询条件分词后结果
高亮查询
GET http://10.192.193.98:9200/shopping/_search{"query":{"match":{"category":"小米"}},"highlight":{"fields":{"category":{}}}
}
<em>小</em><em>米</em>
- highlight:设置高亮字段
聚合查询
GET http://10.192.193.98:9200/shopping/_search{"aggs":{"price_group":{//为操作起名price_group"terms":{ "field":"price"}},"price_avg":{"avg":{"field":"price"}}},"size":0
}
- aggs:聚合操作
- terms:分组
- avg:求平局值
响应结果
"aggregations": {"price_group": {"doc_count_error_upper_bound": 0,"sum_other_doc_count": 0,"buckets": [{"key": 3999.0,"doc_count": 4},{"key": 1999.0,"doc_count": 1},{"key": 2599.0,"doc_count": 1},{"key": 2999.0,"doc_count": 1}]},"price_avg": {"value": 3370.4285714285716}}
映射
创建映射
PUT http://10.192.193.98:9200/user/_mapping{"properties":{"name":{"type":"text","index":true},"sex":{"type":"keyword","index":true},"tel":{"type":"keyword","index":false}}
}
- 映射类似于mysql中的表结构约束
- text:文本类型,可以进行全文检索,对查询条件关键字分词匹配
- keyword:关键字,作为一个整体,不会分词
- index:是否可被索引,如果为false则该字段无法被查询
查询映射
GET http://10.192.193.98:9200/user/_mapping
相关文章:
ElasticSearch基础篇-条件查询与映射
ElasticSearch基础篇二 条件查询 GET http://10.192.193.98:9200/shopping/_search?qtitle:小米手机q:代表查询条件 响应结果 {"took": 772,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped…...

大模型部署框架 FastLLM 实现细节解析
0x0. 前言 接着 大模型部署框架 FastLLM 简要解析 这篇文章首先梳理了一下FastLLM的调用链和关键的数据结构,然后解析了 FastLLM 的一些实现细节和CPU/GPU后端实现采用的优化技巧。 0x1. 调用链和数据结构解析 以chatglm-6b的支持为例,函数入口在 htt…...

Flutter ios真机调试连接断开后应用闪退
使用ios真机调试的时候,能正常打开应用,但是当数据线断开连接的时候,应用就会关闭,重新打开就会闪退。 原因是flutter默认在开发过程中使用debug模式编译 只需要将debug选择为release 重新编译就行。...
序列化,反序列化之实例
别怕,我一直陪着你 一.知识1.魔术方法 二.实例1.绕过__wakeup, private2.php://filter, data://, __tostring3. 一.知识 1.魔术方法 __construct() 当一个对象创建时自动调用 __destruct() 当对象被销毁时自动调用 (php绝大多数情况下会自动调用销毁对象) __sleep…...
2022年全国职业院校技能大赛(高职组)“软件测试”赛项竞赛任务书
2022年全国职业院校技能大赛(高职组) “软件测试”赛项竞赛任务书 2022年7月 一、竞赛时间、内容及成绩组成 (一)竞赛时间 本阶段竞赛时间共为8小时,参赛选手自行安排任务进度,休息、饮水、如厕等不设专…...
第18节:R语言分析:临床安全性数据的数据分析
临床安全性数据的数据分析 背景 医疗器械临床试验中收集的数据的主要组成部分是关于患者安全的。 不良事件被定义为“受试者、使用者或其他人的任何不良医疗事件、非预期疾病或伤害,或不良临床体征(包括异常实验室发现),无论是否与研究医疗器械相关”。 收集并用于此数据…...

36.悬浮板
悬浮板 html部分 <div class"container"><div class"square"></div> </div>css部分 *{margin: 0;padding: 0; } body{background-color: #111;height: 100vh;overflow: hidden;display: flex;justify-content: center;align-it…...

BLE基础理论/Android BLE开发示例
参考:https://blog.csdn.net/qq_36075612/article/details/127739150?spm1001.2014.3001.5502 参考: https://blog.csdn.net/qq_36075612/article/details/122772966?spm1001.2014.3001.5502 目录 蓝牙的分类传统蓝牙低功耗蓝牙 蓝牙专业词汇ÿ…...
rocketmq 5.13任意时间延迟消息
原理是采用timewhile 实现的,源码分析可以参考 https://blog.csdn.net/sinat_14840559/article/details/129266105 除了useDelayLevel 已经默认改为false private boolean useDelayLevel false;官方示意代码在public class TimerMessageProducer for (int i 0;…...

小程序picker 在苹果手机不兼容 bug,按month时在iPhone 显示不正确及自动定位时间问题
如下图:点击弹出时间列表:日历控件点击选择显示1年1月 解决: 加上起始时间字段 <picker mode"date" value"{{date}}" start"1970-09-01" end"2030-09-01"></picker> 问题二: 还是&a…...

区块链服务网络的顶层设计与应用实践
日前,2023全球数字经济大会专题论坛:Web3.0发展趋势专题论坛暨2023区块链、元宇宙蓝皮书发布会在北京举行。本次论坛上隆重发布了《中国区块链发展报告(2023)》,对我国区块链行业在2022年的发展状况进行了总结梳理&…...
tomcat日志输出乱码
在Tomcat中,默认的字符编码可能导致应用参数日志出现乱码问题。这通常发生在接收来自客户端的请求参数,并将其记录到日志文件时。 Tomcat默认使用平台的默认字符编码,这可能是不稳定的,特别是当应用程序运行在不同的操作系统上时…...
Form1单例模式与互斥锁
一、使用mutex来解决。 如何让窗体Form1也是一个单例模式呢? 在窗体项目中找到Program.cs,双击。找到入口点,更改如下: [STAThread]private static void Main(){string mutexName "MyapplicatonMutexApp1121";usin…...

MySQL | 常用命令示例
MySQL | 常用命令示例 一、启停MySQL数据库服务二、连接MySQL数据库三、创建和管理数据库四、创建和管理数据表五、数据备份和恢复六、查询与优化 MySQL是一款常用的关系型数据库管理系统,广泛应用于各个领域。在使用MySQL时,我们经常需要编写一些常用脚…...

常见网关对比
常见网关对比 目前常见的开源网关大致上按照语言分类有如下几类: Nginxlua :OpenResty、Kong、Orange、Abtesting gateway 等 Java :Zuul/Zuul2、Spring Cloud Gateway、Kaazing KWG、gravitee、Dromara soul 等 Go :Janus、fa…...
机器学习动量优化算法笔记
动量优化算法(Momentum Optimization)是一种常用于训练神经网络的优化算法。它通过模拟物体在惯性作用下的运动来加速梯度下降过程,从而加快神经网络的收敛速度并提高训练效率。 在梯度下降算法中,每次更新权重时都是根据当前批次…...
asp.net与asp.net优缺点及示例
Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP .NET MVC不支持 ViewState和服务器控件。 Asp.net优点: 1.架构降低了程序间的耦合性,M VC,分层,目标明确 2.性能不支持viewsta…...
php 年月日 分组分页
//年月日 //分组 分页$type $this->request->type;$dateType "%Y-%m";//月$dateType1 "CONCAT(tmp.date,-01 00:00:00)";$dateType2 "CONCAT(LAST_DAY(CONCAT(tmp.date, -15)), 23:59:59)";if ($type day) {//日$dateType "%Y-…...
flutter开发实战-请求dio设置Cookie
flutter开发实战-请求dio设置Cookie 在最近开发中碰到了需要websocket长链接收到响应的auth,在之后的请求中需要将其设置为cookie中。 如Cookie:authDHSfQQSAXf89xZqJTLdEDVI2hwzc7p2lUmSNNdUSlgW2MyfQINpYr7jUbkX/; 设置cookie用到了dio_cookie_manager组件 一、…...

C语言第十一课--------操作符的使用与分类-------基本操作
作者前言 作者介绍: 作者id:老秦包你会, 简单介绍: 喜欢学习C语言和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...