新闻详情

新闻详情

首页 / 资讯中心 / 详情

第二阶段 12 · range 范围查询

发布时间:2026/8/31 5:33:20来源:尧图网络
第二阶段 12 · range 范围查询
阶段第二阶段 / 查询能力ES 查询range| PostgreSQL 对照BETWEEN//1. 概念range用于数值、日期、字符串的范围过滤。参数参数含义SQL 对应gt大于gte大于等于lt小于lte小于等于range通常放在filter上下文里不需要相关性打分。2. PostgreSQL 对照-- 数值范围SELECT*FROMsalesdataWHEREnet_amountBETWEEN1000AND5000;-- 日期范围SELECT*FROMsalesdataWHEREinvoice_dt2026-01-01ANDinvoice_dt2026-07-01;3. ES DSL数值范围GET salesdata_idx/_search { query: { range: { net_amount: { gte: 1000, lte: 5000 } } } }日期范围支持日期数学表达式GET salesdata_idx/_search { query: { range: { invoice_dt: { gte: 2026-01-01, lt: 2026-07-01 } } } }日期数学示例gte: now-7d/d表示「最近 7 天」/d表示按天取整。放进 filter推荐{ query: { bool: { filter: [ { range: { net_amount: { gte: 1000 } } } ] } } }4. Spring Boot 实现ComponentpublicclassDoc12RangeQuery{AutowiredprivateElasticsearchClientelasticsearchClient;/** net_amount BETWEEN min AND max */publicListMapString,ObjectbyAmountRange(StringindexName,doublemin,doublemax)throwsIOException{SearchResponseMaprespelasticsearchClient.search(s-s.index(indexName).query(q-q.range(r-r.field(net_amount).gte(JsonData.of(min)).lte(JsonData.of(max)))),Map.class);returntoSourceList(resp);}/** invoice_dt from AND invoice_dt to */publicListMapString,ObjectbyDateRange(StringindexName,Stringfrom,Stringto)throwsIOException{SearchResponseMaprespelasticsearchClient.search(s-s.index(indexName).query(q-q.range(r-r.field(invoice_dt).gte(JsonData.of(from)).lt(JsonData.of(to)))),Map.class);returntoSourceList(resp);}privateListMapString,ObjecttoSourceList(SearchResponseMapresp){returnresp.hits().hits().stream().map(Hit::source).filter(Objects::nonNull).collect(Collectors.toList());}}注意 importco.elastic.clients.json.JsonData。range的边界值在 8.x 客户端用JsonData.of(...)包装可传数值、字符串日期等。5. 坑与最佳实践gte/lte别混用成BETWEEN语义错误BETWEEN是闭区间[a,b]对应gte lte。日期字段要有正确 mappingtype: date且format匹配写入格式否则范围失效。半开区间更安全按天/月过滤时用gte 起 lt 下一个起点避免边界重复。放 filter范围过滤几乎都不需要打分放filter更快、可缓存。字符串 range 慎用keyword也能范围比较但一般只对数值/日期有意义。下一篇13-bool-组合查询.md最重要的一篇AND/OR/NOT 全靠它。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于Qt与QListWidget的天气预报系统开发:从界面布局到异步网络请求全解析 2026/8/31 5:28:24

基于Qt与QListWidget的天气预报系统开发:从界面布局到异步网络请求全解析

简介:本资源是一套基于C与Qt框架开发的高分毕业设计项目——天气预报系统源码及配套文档,面向计算机、通信、人工智能、自动化等专业的本科生及教师,适用于毕业设计、课程大作业或期末实训。系统采用QListWidget实现城市天气列表展示&#xf…

阅读更多 →
python3函数中astype如何使用 2026/8/31 5:28:24

python3函数中astype如何使用

小编于浏览论坛之际, 目睹有小伙伴就该函数如何使用进行发问, 其下方回答各式各样, 想来提问的小伙伴以及有需求去了解的朋友们, 必定都被弄得晕头转向, 所以, 小编去系统搜集了关于此函数的内容, 梳理出最为明晰简洁的情形, 期望对想要弄明白的小伙伴能有一定助益, 一块儿来看…

阅读更多 →
基于MATLAB的无人机城市物流仿真:从模型架构到工程实现 2026/8/31 5:28:24

基于MATLAB的无人机城市物流仿真:从模型架构到工程实现

简介:本资源是一套面向高校课程设计与毕业设计的MATLAB无人机城市物流仿真系统,聚焦于解决城市环境下多目标、多约束条件下的无人机路径规划、枢纽选址与任务调度等核心问题,适用于自动化、物流工程、控制科学等专业本科生及研究生开展建模仿…

阅读更多 →
告别Anaconda:轻量化安装Python、PyCharm与PyTorch GPU版全攻略 2026/8/31 5:28:24

告别Anaconda:轻量化安装Python、PyCharm与PyTorch GPU版全攻略

代码转载自, 在互联网技术飞速进步的情形下, 蚂蚁金服于前端技术范畴持续开展技术探寻与实践的领域里, 有关该领域运用极为醒目的React框架以及Ant设计系统, 是在蚂蚁金服的应用中。以下会对相关内容予以详尽阐释。#### 实施的React技术栈, 是由开发而成的, 用于构建用户界面的…

阅读更多 →
whisper如何打包使用 2026/8/31 5:28:24

whisper如何打包使用

作为一款具备强大功能的离线语音识别工具, 能在没有网络的环境下给予迅速且精准的语音转化为文字的服务, 对于那些从事开发工作的人来讲, 知晓怎样把它进行打包然后整合到自身的项目里是极为关键的, 本文会针对其详细介绍采取的打包以及运用的步骤。# 一、安装必要的软件与库第…

阅读更多 →
《脑机接口技术领域综述:基于容度原理的P4-P7神经-电子跨层级耦合框架——从信号衰减到“神经自指”闭环的稳定化重构》 2026/8/31 5:23:24

《脑机接口技术领域综述:基于容度原理的P4-P7神经-电子跨层级耦合框架——从信号衰减到“神经自指”闭环的稳定化重构》

《脑机接口技术领域综述:基于容度原理的P4-P7神经-电子跨层级耦合框架——从信号衰减到“神经自指”闭环的稳定化重构》专知智库“前沿领域综述”系列第5期 发布机构:专知智库(成都专知利乎数字科技有限公司) 实务转化&#xff1a…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞