分享好友 最新动态首页 最新动态分类 切换频道
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 这篇笔记中的替换高亮处理的代码,思路为每次只合并找到的第一个高亮内容,将它和当前的原始内容合并,并将合并后的内容替换掉原始内容。重复这个动作知道所有高亮的内容都被合并到当前的原始内容中。

最新文章
杰奇cms网站自动生成文章自动配图发布站群系统
AI智能写作软件,批量生成自动发布到网站后台支持任意CMS批量导入关键词,自动生成、自动配图、自动发布、不限制网站、域名数量。支持生成中、英、越、日等所有语言文章。我们有专业的团队24小时维护,为您保驾护航。1.支持所有语言输出输入
谷歌SEO优化,如何助力我的Authority Site提升?
在当今互联网信息爆炸的时代,拥有一个高权威性的网站(Authority Site)是每个网站运营者的梦想。这不仅意味着更高的流量,更优质的用户,还意味着更多的商业机会。作为一名在SEO领域摸爬滚打多年的从业者,我深知谷歌SEO优化对于提升Auth
通过阅读《手机断舍离》,我们可以学会如何找回那些被手机夺走的时间和注意力。我们可以重新发现生活中的美好和纯粹的快乐。这是一次自我救赎的实践,也是对现代生活的深刻反思。
飞屏无法连接电脑版(飞屏无法连接电脑版网络)
好酷屋教程网小编为您收集和整理了飞屏无法连接电脑版(飞屏无法连接电脑版网络)的相关教程:飞屏无法连接电脑版网络先打开歪飞开关  点击右下角无线网络连接的图标或者点击左下角开始-设置-网络连接-双击无线网络连接-查看无线网络  在
短视频平台源码,短视频软件开发,短视频app源码搭建
一、短视频平台源码的功能1、短视频功能:短视频是短视频平台源码的主要功能,用户可以发布、编辑、观看短视频。2、直播功能:短视频软件开发实现直播功能,主播可以带货、连麦、进行PK。3、聊天功能:短视频app源码支持用户聊天,方便用户
金东一医生-哈尔滨市金东一医生产阴道紧致手术价格及案例口碑深解析
作为哈尔滨市产阴道紧致手术好的医生,金东一医生产阴道紧致手术精细、效果良好,引得哈尔滨市整友纷纷关注,大家想知道金东一产阴道紧致手术价位多少钱?金东一医生产阴道紧致手术贵不贵?金东一产阴道紧致手术收费价位合理,快来看看。下
自治区农业农村厅办公室关于印发2024年基层农业技术推广服务能力提升项目实施方案的通知(桂农厅办发〔2024〕10号)
各市、县(区)农业农村局,自治区蚕业技术推广站:为保证基层农业技术推广服务能力提升项目顺利实施,进一步激发各地农科院(所)改革创新活力,提升科研推广服务能力,推动现代特色农业高质量发展,现将《2024年基层农业技术推广服务能力
奔驰EQE AMG怎么样 内外兼修
主流车尺寸适中,能够很好的满足各方面需求,同时主流车的价格也比较合理,所以买它就对了!如今消费者买车首先就是要看这款车配置丰不丰富,对于自然也不例外。赶紧来看看它吧。先看下奔驰EQE AMG的外观,奔驰EQE AMG前脸整体看上去较为精
相关文章
推荐文章
发表评论
0评