分享好友 最新动态首页 最新动态分类 切换频道
ElasticSearch nested 字段多关键字搜索,高亮全部匹配关键字的处理
2024-12-27 05:05

版本号:

用户会传入多个关键字去ES查询 字段 的多个字段,要求在返回的结果中被搜索的字段需要高亮所有匹配的关键字。例如同时通过和关键字,再 的列表中的和中搜索。如果有人员的中这两个关键字和都可以匹配到,那么返回的结果中同时高亮这和关键字

基础的ElasticSearch 字段的高亮实现搜可以参考https://blog.csdn.net/weixin_48990070/article/details/120342597 这篇笔记。

问题点1

对于同一个 字段支持在一个 用不同的关键字来搜索,但对于 查询只会高亮其中匹配的一个关键字,而不是全部。引入如果多关键字直接是任意满足的关系,则之后高亮匹配的其中的一个关键字,这个与不满足需求。

问题点2

那就把关键字拆分为多个 ,一个关键字对应一个 。但这个方法一样可以搜索,但对于同一个字段的 默认的 属性只能出现在一个中,不允许同一个字段的不同 都指定 ,如果一定要这么做,那么就会得到一个查询错误的提示,提示如下

 

如果只在一个关键字的指定,那么最终的高亮结果只会有该的高亮,还是不满足要求。

问题点3

通过AI询问得知 有个 属性可以解决的情况,可以通过设置不同的 属性值来达到对同一个字段用不同 来做多关键字的高亮效果,但是这样里又出现了两个新的问题。
1、 有个 属性值不能重复,否则一样出的错误提示。
2、高亮 结果是按照 有个 属性值分组展示的,不像非会给一个最终多个关键字都高亮的结果。

转换下问题就是
1、要根据关键字自动生成不重复 有个 属性值
2、对于同字段的高亮结果,要做高亮内容的合并。

因此只要解决了上面两个问题,就可以完成业务的需求了。

问题1解决方案

在将查询参数转换为ES Query语句的处理中,用Map来缓存每个字段的当前有几个,通过累计数量,来自动生成每个中的 有个 属性名,例如名称为 字段名+“-”+

因此就不能再使用静态方法来构建查询语句了,得用构建器了,下面就是构建器的部分实现

 

其他相关代码
定义一个适用Lambda表达式的接口

 

定义搜索字段的枚举

 

定义搜索类型的枚举

 

使用方法

 

问题2解决方案

合并高亮的处理,这个问题实际就是:对于一个字符串,存在多个字符串,,,并且,,再过滤掉和 字符后是相同的字符串。现在需要将字符串,,, 合并为一个字符串。合并后的字符串需要满足
1、过滤掉和 字符后同相同
2、所有在,,被和包围的子字符串,在同样被和包围

另外要保证一个点是原始的字符串不能本身就有或 这些字符串,这个可以通过对数据源头进行过滤就可以了。比如使用 过滤。

合并高亮字符串的具体的实现算法如下

 

修改https://blog.csdn.net/weixin_48990070/article/details/120342597 这篇笔记中的替换高亮处理的代码,思路为每次只合并找到的第一个高亮内容,将它和当前的原始内容合并,并将合并后的内容替换掉原始内容。重复这个动作知道所有高亮的内容都被合并到当前的原始内容中。

最新文章
引流推广简历模板范文怎么写
姓名:许芊羽自我介绍:我是一名来自湖北省的应届毕业生,毕业于湖北文理学院,主修市场营销专业。在校期间,我积极参加校园活动,曾担任紫荆志愿者协会会长一职,组织和参与了多项公益活动。通过这些经历,我发现自己热爱团队协作和社交沟
青岛关键词推广优化攻略,全方位策略揭秘
青岛关键词推广优化策略全解析,涵盖精准定位、内容优化、数据分析等关键步骤。通过合理布局关键词,提高搜索引擎排名,实现精准营销。注重内容质量,优化用户体验,助力企业提升品牌影响力。随着互联网的快速发展,网络营销已成为企业推广
豆包Ai登顶国内第一,概念股梳理(名单建议收藏)
在A股市场,人工智能(AI)题材的热度持续升温,尤其是豆包概念股,在Kimi概念股、智谱概念股之后,成为了市场上的新宠。近日,抖音豆包AI概念全面发酵,中科蓝讯、乐鑫科技、省广集团、天龙集团、掌阅科技等一批字节跳动概念股大幅上涨。多
香港雷锋老牌论坛,重要性解释落实方法_WearOS10.466
h2引言/h2p随着数字技术的飞速发展,智能手机及可穿戴设备在全球范围内普及率逐年攀升,WearOS系统作为智能手表领域的重要组成部分,其发展趋势及影响力不容忽视,香港雷锋老牌论坛一直关注WearOS的最新动态,本文旨在深入探讨其在WearOS10
掌握SEO核心策略,高效提升网站搜索引擎排名指南
掌握SEO规则,掌握搜索引擎优化核心策略,助力网站排名提升。通过优化关键词、提高内容质量、改善网站结构等手段,有效提升网站在搜索引擎中的排名,吸引更多户。随着互联网的不断发展,搜索引擎优化(SEO)已经成为网站推广的重要手段,SE
源码html网站模板_源码html网页模板
源码HTML网站模板构建专业网页的基石,在当今数字化时代,拥有一个专业的网站是企业或个人品牌成功的关键。源码HTML网站模板作为构建网站的基础工具,提供了一个快速、高效的方式来创建具有吸引力的网页。本文将探讨源码HTML网站模板的重要
硅基周报 | OpenAI连开12天发布会;谷歌向平行宇宙借算力;字节想要打造“AI时代的抖音”
· 英伟达涉嫌反垄断,疑似下架天猫所有商品国家市场监督管理总局12月9日消息,因英伟达公司涉嫌违反《中华人民共和国反垄断法》及相关审查决定公告,市场监管总局依法对其开展立案调查。此次涉及的是英伟达2020年收购迈络思的交易。2 019
高德地图搜不到地址怎么办-商家新开门店地图定位
高德地图搜不到地址,可能有以下几种原因,解决办法如下:1. 地址输入有误:确认输入的地址是否正确,可以对照地图软件的其他信息,或者询问当地居民获得更准确的信息。2. 地址数据不全:某些偏僻或者新兴地区的地址数据可能尚未完全录入,
能源矿产检测 矿产成分检测 矿石元素检测
能源矿产检测 矿产成分检测 矿石元素检测 矿石能源一般属于不可再生能源,属于现代工业的基础原料。矿石检测主要是指利用分析检测仪器对矿石材料进行分析检测,确定矿石材料成分和品位,为企业进行矿石开采研究提供分析技术支持。能源属于
百度小说排行榜2021前十名完结
现如今,小说越来越多,但似乎找到一本心仪的小说却变得越来越难,面对浩如烟海的小说,从哪里知道什么更适合自己呢?小编为你提前排雷,帮你找到自己心中的最爱,大家有什么意见与建议可以在评论区中一起交流,一起建立起一个小书虫们的交
相关文章
推荐文章
发表评论
0评