Elasticsearch DSL版
文章目录
- 1.索引库操作
- 创建索引库:
- 删除索引库:
- 查询索引库:
- 修改索引库:
- 总结
- 2.文档操作
- 创建文档:
- 查询文档:
- 删除文档:
- 全量修改文档:
- 增量修改文档:
- 总结
- 3.DSL查询语法(前4个由query属性包裹)
- 1.全文查询(3种)
- match_all
- match
- multi_match
- 2.精确查询(2种)
- term
- range
- 3.地理查询(2种)
- geo-bounding_box
- geo_distance
- 4.复合查询(2种)
- function score Query
- Bool Query
- 5.搜索结果处理(3种)同级属性
- sort排序
- from/size分页
- higlight高亮
- 6.总结(4个顶级属性)
1.索引库操作
创建索引库:
PUT /索引库名
{"mapping":{"properties":{"字段名":{"type":"字段的类型"}//..略 }},
}//提高查询效率的方式
//将字段名1、2加入到all,那么查询直接搜索all一个字段效率提高2倍
PUT /索引库名
{"mapping":{"properties":{"字段名1":{"type":"字段的类型","copy_to":"all"},"字段名2":{"type":"字段的类型","copy_to":"all"},"all":{"type":"text","analyzer":"ik_max_word"} }},
}
//搭配查询使用
GET /索引库名
{"query":{"match":{"all":"搜索内容"}}
}
删除索引库:
DELETE /索引库名
查询索引库:
GET /索引库名
修改索引库:
PUT /索引库名/_mapping
{"properties":{"新字段名":{"type":"类型"}}
}
总结
只有创建、修改需要请求体
2.文档操作
创建文档:
POST /索引库名/_doc/文档id
{"字段1":"","字段2":"","字段3":{"字段3-1":"","字段3-2":""}
}
查询文档:
GET /索引名/_doc/文档id
删除文档:
DELETE /索引库名/_doc/文档id
全量修改文档:
//若文档id不存在就是新增操作,否则就是全部修改PUT /索引库名/ _doc/文档id
{"字段1":"","字段2":""
}
增量修改文档:
POST /索引库名/ _update/文档id
{"doc":{"需要修改的字段名":"新的值"}
}
总结
只有创建、修改需要请求体
3.DSL查询语法(前4个由query属性包裹)
1.全文查询(3种)
match_all
// 1.查询所有
GET /索引库名/_search
{"query": {"match_all": {}}
}
match
// 2.单个字段查询,建议创建文档的时候把多个要查询的字段copy_to到一个字段all,提高查询性能
//all字段名
GET /索引库名/_search
{"query": {"match": {"all": "乡愁"}}
}
multi_match
// 3.多个字段查询
GET /索引库名/_search
{"query": {"multi_match": {"query": "需要查询内容","fields": ["字段1","字段2"]}}
}
2.精确查询(2种)
term
# 1.根据词条精确值查询
GET /索引库名/_search
{"query": {"term": {"字段名1": {"value": "内容"}}}
}
range
# 2.根据值得范围查询
#有e结尾代表=
GET /mingyue/_search
{"query": {"range": {"age": {"gt": 10,"lte": 20}}}
}
3.地理查询(2种)
geo-bounding_box
// 1.查询geo_point值落在某个矩形范文内得所有文档,大白话就是两个点相连形成的矩形
// 用的比较少
GET /索引库名/_search
{"query":{"geo-bounding_box":{"geo_point类型的字段":{"top_left":{"lat":31.1,"lon":121.9},"buttom_right":{"lat":38.1,"lon":121.9}}}}
}
geo_distance
//2.查询指定中心点范围内得所有文档
// 用的多
GET /索引库名/_search
{"query":{"geo_distance":{"distance":"15km","geo_point类型的字段":"经度,纬度"}}
}
4.复合查询(2种)
function score Query
// 1.function score Query
GET /索引库名/_search
{"query":{"function_score":{# 原始查询规则"query":{"match":{"字段名":"内容"}},"functions":'[{"filter":{"term":{"id":"1"}},# 过滤条件"weight":10 #算分函数}],"boost_mode":"multiply" # 算分函数}}
}
Bool Query
// 2.Bool Query 4个属性
GET /索引库名/_search
{"query":{"bool":{"must":[#类似与{"term":{"字段名1":"内容"}}],"should":[#类似或{"term":{"字段名2":"内容1"}}{"term":{"字段名2":"内容2"}}],"must_not":[#类似非,不参与算分,意思是不匹配<=500的{"range":{"字段名3":{"lte":500}}}],"filter":[#必须匹配>=45,不参与算分{"range":{"字段名4":{"gte":45}}}],}}
}
5.搜索结果处理(3种)同级属性
sort排序
// 1.排序
GET /索引库名/_search
{"query":{//查询条件 略……},"sort":{"排序字段":"排序方式",# asc desc"_geo_distance":{"geo_point类型的字段名":"经度,纬度","geo_point类型的字段名":{ # 对象方式书写"lat":经度"lon":纬度},"order":"排序方式","unit":"km"# 单位}}
}
from/size分页
// 2.分页
GET /索引库名/_search
{"query":{//查询条件 略……},"sort":{"排序字段":"排序方式",# asc desc},"from":页码,"size":条数
}
higlight高亮
// 2.高亮
GET /索引库名/_search
{"query":{//查询条件 略……},"sort":{"排序字段":"排序方式",# asc desc},"highlight":{"fields":{# 指定要高亮的字段"字段名":{"require_field_match":"false" #搜索字段与高亮字段不一致需要加上}}},"from":页码,"size":条数
}
6.总结(4个顶级属性)
查询语法有4个顶级属性
分别是query、sort、from/size、highlight
相关文章:
Elasticsearch DSL版
文章目录 1.索引库操作创建索引库:删除索引库:查询索引库:修改索引库:总结 2.文档操作创建文档:查询文档:删除文档:全量修改文档:增量修改文档:总结 3.DSL查询语法&#…...
2024-12-29-sklearn学习(26)模型选择与评估-交叉验证:评估估算器的表现 今夜偏知春气暖,虫声新透绿窗纱。
文章目录 sklearn学习(26) 模型选择与评估-交叉验证:评估估算器的表现26.1 计算交叉验证的指标26.1.1 cross_validate 函数和多度量评估26.1.2 通过交叉验证获取预测 26.2 交叉验证迭代器26.2.1 交叉验证迭代器–循环遍历数据26.2.1.1 K 折26.2.1.2 重复 K-折交叉验…...
STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存
STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F40…...
异步爬虫之aiohttp的使用
在上一篇博客我们介绍了异步爬虫的基本原理和 asyncio 的基本用法,并且在最后简单提及了使用aiohttp 实现网页爬取的过程。本篇博客我们介绍一下 aiohttp 的常见用法。 基本介绍 前面介绍的 asyncio模块,其内部实现了对 TCP、UDP、SSL协议的异步操作&a…...
【Rust自学】9.1. 不可恢复的错误以及panic!
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 9.1.1. Rust错误处理概述 Rust拥有极高的可靠性,这也延伸到了错误处理的领域。比如说在大部分情况下,Rust会迫使你…...
【老张的程序人生】一天时间,我成软考高级系统分析师
今年下半年,我心血来潮报考了软考高级系统分析师。彼时的我,工作繁忙至极,一周十四节课,班主任的职责压身,还兼任教学管理事务,每日忙得晕头转向,那点可怜的闲暇时光,也都奉献给了游…...
vue使用el-select下拉框自定义复选框
在 Vue 开发中,高效且美观的组件能极大地提升用户体验和开发效率。在vue中使用elementplus 的 el-select下拉框实现了一个自定义的多选下拉框组件。 一、代码功能概述 这段代码创建了一个可多选的下拉框组件,通过el-select和el-checkbox-group结合的方…...
k8s基础(2)—Kubernetes-Namespace
一、Namespace概述 名字空间 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有…...
APM for Large Language Models
APM for Large Language Models 随着大语言模型(LLMs)在生产环境中的广泛应用,确保其可靠性和可观察性变得至关重要。应用性能监控(APM)在这一过程中发挥了关键作用,帮助开发者和运维人员深入了解LLM系统的…...
Spark Runtime Filter
Runtime Filter 参考链接: https://docs.google.com/document/d/16IEuyLeQlubQkH8YuVuXWKo2-grVIoDJqQpHZrE7q04/edit?tabt.0https://www.modb.pro/db/557718https://issues.apache.org/jira/browse/SPARK-32268https://github.com/apache/spark/pull/35789https…...
AI大模型系列之七:Transformer架构讲解
目录 Transformer网络是什么? 输入模块结构: 编码器模块结构: 解码器模块: 输出模块结构: Transformer 具体是如何工作的? Transformer核心思想是什么? Transformer的代码架构 自注意力机制是什么…...
基于51单片机(STC12C5A60S2)和8X8彩色点阵屏(WS2812B驱动)的小游戏《贪吃蛇》(普中开发板矩阵按键控制)
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、定时器02、矩阵按键3、8X8彩色点阵屏 四、主函数总结 系列文章目录 前言 《贪吃蛇》,一款经典的、怀旧的小游戏,单片机入门必写程序。 以《贪吃蛇》为载体,熟悉各种屏幕的使…...
遇到复杂的 递归查询sql 需要oracle 转pgsql 可以把数据表结构给ai
遇到复杂的 递归查询sql 需要oracle 转pgsql 可以把数据表结构给ai 并且 建立备份表 把需要的很少的数据放到表里面 这样 ai 可以很好的判断sql 咋写 还可以,让ai解释oracle sql 然后拿到描述和表和字段,给ai让他生成pgsql 的sql,亲测有效...
Zynq PS端外设之GPIO
1. GPIO(通用输入/输出) GPIO外设有4个Bank,Bank0/1通过MIO连接到PS的引脚上;Bank2/3通过EMIO连接到PL的引脚上。 注意:Bank1的电平要改成LVCOMS 1.8 GPIO寄存器 寄存器: DATA_RO: 读取GPIO的输…...
Spring Boot项目开发常见问题及解决方案(上)
启动相关问题 问题 1:项目启动时报错“找不到主类” 在使用 Spring Boot 打包成可执行 JAR 文件后启动,有时会遇到这个头疼的问题。通常是因为打包配置有误或者项目结构不符合要求。 解决方案: 首先,检查 pom.xml(Ma…...
Elasticsearch: 高级搜索
这里写目录标题 一、match_all匹配所有文档1、介绍: 二、精确匹配1、term单字段精确匹配查询2、terms多字段精确匹配3、range范围查询4、exists是否存在查询5、ids根据一组id查询6、prefix前缀匹配7、wildcard通配符匹配8、fuzzy支持编辑距离的模糊查询9、regexp正则…...
STM32 拓展 电源控制
目录 电源控制 电源框图 VDDA供电区域 VDD供电区域 1.8V低电压区域 后备供电区域 电压调节器 上电复位和掉电复位 可编程电压检测器(PVD) 低功耗 睡眠模式(只有CUP(老板)睡眠) 进入睡眠模式 退出睡眠模式 停机(停止)模式(只留核心区域(上班)) 进入停…...
SpringBootWeb案例-1
文章目录 SpringBootWeb案例1. 准备工作1.1 需求&环境搭建1.1.1 需求说明1.1.2 环境搭建 1.2 开发规范 2. 部门管理2.1 查询部门2.1.1 原型和需求2.1.2 接口文档2.1.3 思路分析2.1.4 功能开发2.1.5 功能测试 2.2 前后端联调2.3 删除部门2.3.1 需求2.3.2 接口文档2.3.3 思路…...
HTML——57. type和name属性
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>type和name属性</title></head><body><!--1.input元素是最常用的表单控件--><!--2.input元素不仅可以在form标签内使用也可以在form标签外使用-…...
应用架构模式-总体思路
采用引导式设计方法:以企业级架构为指导,形成较为齐全的规范指引。在实践中总结重要设计形成决策要点,一个决策要点对应一个设计模式。自底向上总结采用该设计模式的必备条件,将之转化通过简单需求分析就能得到的业务特点…...
XML 指南
XML 指南 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。自从1998年发布以来,XML因其灵活性和广泛的应用场景而成为数据交换的标准格式。本文旨在为您提供一个全面的XML指南,帮助您了解XML的基本概念、语法规则、应用场景以及相关的最佳实践。 XML的基本…...
3步打造高效右键菜单:让Windows操作提速50%
3步打造高效右键菜单:让Windows操作提速50% 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否也曾在右键点击文件时,面对长达20个选项…...
Qwen3.5-9B-AWQ-4bit企业应用落地:电商商品图智能解析与文字提取实战
Qwen3.5-9B-AWQ-4bit企业应用落地:电商商品图智能解析与文字提取实战 1. 电商场景下的图片理解挑战 在电商运营中,每天需要处理海量商品图片。传统的人工审核和标注方式面临三大痛点: 效率瓶颈:人工处理一张商品图平均需要3-5分…...
C语言基础:LiuJuan20260223Zimage嵌入式开发入门
C语言基础:LiuJuan20260223Zimage嵌入式开发入门 1. 学习目标与前置知识 如果你是刚开始接触嵌入式开发的C语言初学者,这篇文章就是为你准备的。我们将从最基础的C语言语法开始,一步步带你了解如何在嵌入式环境中使用C语言进行开发。不需要…...
Transformer 从0到1:注意力机制的数学形式——Query, Key, Value 三元组
# Transformer 从0到1:注意力机制的数学形式——Query, Key, Value 三元组## 1. 引言:从序列建模的困境到注意力机制的诞生在深度学习的发展历程中,处理序列数据(如文本、音频、时间序列)一直是核心挑战之一。早期的循…...
三极管信号滤波原理与工程实践
1. 三极管在信号滤波中的独特应用作为一名嵌入式硬件工程师,我经常需要处理各种传感器信号。最近在无刷电机驱动项目中,遇到了霍尔信号毛刺干扰的问题。传统教科书上总是强调三极管的放大作用,但实际工程中,我发现三极管在信号滤波…...
AI 视频生成美女跳舞测评 | 顶级 Prompt实测版(Grok Imagine、Kling AI 3.0、Veo 3.1)
兄弟们,AI 视频生成已经卷到飞起了!之前写小黄文靠grok,现在生成“美女舞蹈”视频也得靠它。 今天上手实测截至今天热门的3款视频生成工具,专攻“美女跳舞”这个高难度场景:动作流畅度、人物一致性、性感画面感、提示…...
Qwen2.5-Coder-1.5B应用案例:自动生成Bash脚本处理日志文件
Qwen2.5-Coder-1.5B应用案例:自动生成Bash脚本处理日志文件 1. 日志处理场景与痛点分析 1.1 运维工程师的日常挑战 在服务器运维工作中,日志分析是最常见也最耗时的任务之一。想象一下这样的场景: 你需要检查10台服务器上50个不同的服务日…...
当今互联网安全的基石 - TLS/SSL
LS(Transport Layer Security)传输层安全协议 发展历程 TLS 是 SSL 协议的继任者。由于 SSL 协议存在一些安全漏洞,并且随着网络安全需求的不断提高,IETF(Internet Engineering Task Force)对 SSL 3.0 进…...
别再只会用AT指令了!用GD32F103驱动ESP8266实现MQTT连接阿里云(附完整源码)
从AT指令到MQTT协议:GD32F103ESP8266直连阿里云物联网平台实战 在物联网设备开发中,ESP8266作为性价比极高的Wi-Fi模块,常被用于实现设备联网功能。大多数开发者对它的认知停留在AT指令操作层面,通过串口发送简单的AT命令实现TCP连…...
