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:排序方式
ascdesc
多条件查询
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页面:秦大大 一个爱分享的小博主 欢迎小可爱们…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
