第二阶段 16 · match_phrase 短语匹配
阶段第二阶段 / 查询能力ES 查询match_phrase| PostgreSQL 对照短语顺序匹配全文-1. 概念match是「命中任意/全部词即可不管顺序」match_phrase要求这些词按顺序、相邻出现像搜「一整个短语」。例如搜carbon laptopmatchlaptop carbon也能命中顺序无所谓match_phrase必须出现carbon紧接着laptop2. PostgreSQL 对照-- 近似全文检索的相邻短语- 表示紧邻SELECT*FROMsalesdataWHEREto_tsvector(english,description) phraseto_tsquery(english,carbon laptop);PG 的phraseto_tsquery/-就是短语顺序匹配等价于match_phrase。3. ES DSL基本短语GET salesdata_idx/_search { query: { match_phrase: { description: carbon laptop } } }允许词间有间隔slopGET salesdata_idx/_search { query: { match_phrase: { description: { query: carbon laptop, slop: 2 } } } }slop: 2允许两个词之间最多间隔 2 个位置如carbon x1 laptop也能命中。前缀短语搜索框实时补全常用GET salesdata_idx/_search { query: { match_phrase_prefix: { description: carbon lap } } }最后一个词按前缀匹配适合「输入时联想」。4. Spring Boot 实现ComponentpublicclassDoc16MatchPhraseQuery{AutowiredprivateElasticsearchClientelasticsearchClient;/** 严格短语词按顺序相邻 */publicListMapString,Objectphrase(StringindexName,Stringfield,Stringphrase)throwsIOException{SearchResponseMaprespelasticsearchClient.search(s-s.index(indexName).query(q-q.matchPhrase(m-m.field(field).query(phrase))),Map.class);returntoSourceList(resp);}/** 带 slop允许词间间隔 */publicListMapString,ObjectphraseWithSlop(StringindexName,Stringfield,Stringphrase,intslop)throwsIOException{SearchResponseMaprespelasticsearchClient.search(s-s.index(indexName).query(q-q.matchPhrase(m-m.field(field).query(phrase).slop(slop))),Map.class);returntoSourceList(resp);}privateListMapString,ObjecttoSourceList(SearchResponseMapresp){returnresp.hits().hits().stream().map(Hit::source).filter(Objects::nonNull).collect(Collectors.toList());}}返回强类型 Java 对象推荐替代裸 Map把Map.class换成 DTO 的Class第 11 篇定义的OrderDoc用JsonProperty映射下划线字段即可直接拿到强类型列表/** 严格短语返回 ListOrderDoc */publicListOrderDocphraseTyped(StringindexName,Stringfield,Stringphrase)throwsIOException{SearchResponseOrderDocrespelasticsearchClient.search(s-s.index(indexName).query(q-q.matchPhrase(m-m.field(field).query(phrase))),OrderDoc.class);// ← 关键DTO 的 Class而非 Map.classreturnresp.hits().hits().stream().map(Hit::source).filter(Objects::nonNull).collect(Collectors.toList());}临时/探索性查询仍可用Map.class对外/长期维护接口建议统一用 DTO。5. 坑与最佳实践只对text有意义短语基于分词后的词项位置keyword不适用。slop不是模糊它控制词间距不纠错拼写。match_phrase_prefix慎用大数据量最后一个词做前缀扩展可能较慢可限制max_expansions。顺序敏感这是它和match的本质区别选型时想清楚要不要顺序。下一篇17-multi_match-多字段.md。

相关新闻

HMC5883L三轴指南针模块:从I2C通信到航向解算的Arduino实战指南

HMC5883L三轴指南针模块:从I2C通信到航向解算的Arduino实战指南

1. 项目概述:Grove - 三轴指南针 V1.0 如果你玩过Arduino或者树莓派,大概率听说过Grove这个生态系统。它最大的好处就是把各种传感器、执行器都模块化了,用统一的四针接口连接,省去了焊接和复杂的杜邦线连接,特别适合快…

2026/8/2 16:29:37 阅读更多 →
基于Arch Linux的嵌入式GPRS开发:从工具链搭建到STM32/Arduino实战

基于Arch Linux的嵌入式GPRS开发:从工具链搭建到STM32/Arduino实战

1. 项目概述:当Arch Linux遇上嵌入式GPRS如果你和我一样,是个喜欢折腾的嵌入式开发者,同时又对Arch Linux那种“自己动手,丰衣足食”的哲学情有独钟,那么“Arch GPRS”这个组合对你来说,可能就充满了吸引力…

2026/8/2 16:29:37 阅读更多 →
终极指南:如何在Draw.io中通过Mermaid插件实现图表制作的革命性升级

终极指南:如何在Draw.io中通过Mermaid插件实现图表制作的革命性升级

终极指南:如何在Draw.io中通过Mermaid插件实现图表制作的革命性升级 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 你是否曾经在绘制技术图表时感到效率低…

2026/8/2 16:29:36 阅读更多 →

最新新闻

顺势掌控者系统 同花顺期货通指标

顺势掌控者系统 同花顺期货通指标

今天给大家带来是一款同花顺期货通指标,并且已经上架到同花顺期货通的指标广场上了。喜欢的朋友可以去指标广场安装试用!!友情提示:(指标只是辅助,不作建议)拼多多店铺:指标公式编写…

2026/8/2 17:12:01 阅读更多 →
UE4SS终极安装指南:解锁虚幻引擎4游戏修改与脚本注入

UE4SS终极安装指南:解锁虚幻引擎4游戏修改与脚本注入

1. 项目概述:UE4SS是什么,以及为什么你需要它如果你是一个深度PC游戏玩家,尤其是那些基于虚幻引擎4(UE4)开发的游戏爱好者,那么你很可能已经厌倦了游戏本身的限制,或者渴望一些官方没有提供的功…

2026/8/2 17:12:01 阅读更多 →
如何在Mac上实现NTFS完整读写:Free-NTFS-for-Mac终极解决方案

如何在Mac上实现NTFS完整读写:Free-NTFS-for-Mac终极解决方案

如何在Mac上实现NTFS完整读写:Free-NTFS-for-Mac终极解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manage…

2026/8/2 17:12:01 阅读更多 →
全球协作机器人一哥越疆科技“跨界”造恐龙,能否走出盈利困境?

全球协作机器人一哥越疆科技“跨界”造恐龙,能否走出盈利困境?

全球第一,却依然“生活不易”想要重现《侏罗纪公园》里的恐龙,可能比起生物工程,靠具身智能还靠谱一点。7月底,正值暑假中期,深圳自然博物馆展出了两只“活”的恐龙,让恐龙展厅成了当天全馆排队最长的地方。…

2026/8/2 17:12:01 阅读更多 →
N皇后问题:从回溯算法到状态压缩的深度解析与优化实践

N皇后问题:从回溯算法到状态压缩的深度解析与优化实践

1. 问题引入:从棋盘到代码的经典回溯如果你对算法竞赛或者数据结构与算法这门课稍有接触,那么“N皇后问题”这个名字你一定不陌生。它就像一个算法领域的“Hello World”,但远比打印一行文字要复杂和深刻得多。我第一次在SCAU(华南…

2026/8/2 17:12:01 阅读更多 →
解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案

解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案

解放双手的FGO全自动助手:智能战斗与任务管理的终极解决方案 【免费下载链接】FGO-py 自动爬塔! 自动每周任务! 全自动免配置跨平台的Fate/Grand Order助手.启动脚本,上床睡觉,养肝护发,满加成圣诞了解一下? 项目地址: https://gitcode.com/GitHub_Trending/fg/F…

2026/8/2 17:11:01 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →