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页面:秦大大 一个爱分享的小博主 欢迎小可爱们…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
