分享

实战经验|Elasticsearch在大数据场景的应用与实践

 昵称31830743 2023-04-27 发布于江西
导读: ChatGPT出现之前,搜索是使用海量数据最佳途径。面对政务、交通、科研、招聘和互联网的大规模数据,如何刻画和检索数据是迫切需要解决的问题。曙光智能云智搜软件(以下简称智搜应用)作为SaaS应用,使用曙光智能云提供的Elasticsearch集群服务支撑了多种场景、数据规模达数百TB的高效检索和日志维护。

本文将介绍 ElasticSearch 在SaaS搜索应用的架构以及实践。主要包括以下几大部分:

  • 背景介绍
  • 架构
  • 关键问题分析
  • 应用场景介绍

图片

背景介绍

图片产品介绍

智搜应用是用于对海量数据进行数据建模、检索利用以及分类管理的检索型业务系统,被稳定地应用于政务、交通、科研、招聘等多种场景,其中集群数据规模多达数百TB,单个索引搜索字段多达400。用户通过简便的操作,输入需要检索的内容,即可获取不同种类的丰富而又按照相关度排序的信息。能够满足百亿级数据秒级响应的检索要求,同时对各类信息进行专业化划分,多维度展示,极大程度上提高用户的使用体验。

图片搜索应用的痛点

搜索是检索应用的核心需求,检索结果与检索词的匹配程度直接决定了用户的搜索体验,也就是说如何同时保证搜索的召回率和准确率。比如用户的检索词是“机器学习”,那么对于只包含“机器”或包含“机器正在学习”的文档是否出现在检索结果中?“机器”、“学习”分别分布在两个字段中的文档是否需要被检索出来?另外,相比于出现在简介字段的文档,能否让“机器学习”出现在科目字段的文档处于搜索结果的靠前顺序?

每个场景中都有约定俗成的且频繁使用的口径,如何方便地通过简要的词汇搜索出符合相同规则的数据是迫切需要解决的问题。

对于海量复杂数据的综合结构化条件和非结构化条件的多维度组合搜索如何实现也是业务中经常面临的问题,我们研发了智搜应用,基于Elasticsearch集群服务在多种场景下支持海量数据的标签构建与搜索业务。

图片基于曙光智能云全栈服务

智搜应用的开发依托了曙光智能云提供了的一系列服务,比如核心业务采用了云平台托管的Elasticsearch搜索服务、云数据库MySQL、网关SIG和分布式缓存服务Redis,而智搜应用的数据处理流程则依托曙光智能云提供的轩辕数据湖运营平台,实现了数据的一站式自动化治理,极大的简化了数据从接入到搜索的处理流程,保证了数据的实时性。

图片

架构

智搜应用的整体架构包括数据支撑层、查询层以及业务应用层。

图片

1. 数据支撑层

依托曙光云提供的轩辕数据湖运营平台实现了海量数据的数据接入和治理,建立起了从数据接入、数据处理、数据治理到数据服务的稳定高效的标准化流水线,进入Elasticsearch的数据都已经是标准化的数据,方便智搜应用等下游业务使用。

2. 查询层

数据支撑层根据业务的特点进行了数据的建模,模型运行的结果及标准化后的数据通过数据支撑层分发到云搜索服务 Elasticsearch,借助于Elasticsearch集群强大的查询和聚合能力,赋予了智搜应用高性能、高可用的检索能力。

基于曙光智能云服务,一系列的安全服务保证了集群的安全,logstash负责采集日志,kibana组件聚焦于可视化,cerebro组件可以监控集群,为管理和运维提供方便,使得Elasticsearch服务来源于开源、但又高于开源。

3. 应用层

运用SpringBoot和MySQL组装多维度的搜索条件为业务应用提供复杂搜索、聚合、统计以及排序的能力。

图片

关键问题分析

1. 平衡召回率和准确率

智搜应用结合 Elasticsearch 强大的搜索、分析以及聚合能力针对不同主题的海量数据实现了模糊以及精确检索。Elasticsearch 的ik分词、倒排索引机制突破了结构化数据搜索的限制,同时基于 multi_match和权重可配置的方式平衡了搜索召回率和准确率,检索数据结果全面丰富、命中内容高亮显示且按照相关度排序。作为线上的 SaaS 服务,能够满足百亿级数据秒级响应的检索要求。

2. 多条件拼图式搜索

在搜索领域多条件复合搜索十分常见,在高级搜索和批量搜索模块,基于索引mapping设置、字段分词设置以及多个搜索条件的嵌套,使得同时满足各个条件的文档才能被检索出来,从而保证智搜应用能够支持复合条件的模糊搜索、精确搜索以及多维度的筛选和统计。

即便涉及关联关系的复合条件搜索,基于索引mapping设置以及父子文档存储方式,智搜应用也可支撑根据关联数据和被关联数据的多个维度查询出被关联数据。

3. 按规则构建标签体系

在多种场景下,根据各种自定义规则经过离线统计将具有相似行为和特征的部分实体打上多种标签,写入 Elasticsearch补充了用户画像,依托于 Elasticsearch强大的搜索、分析和聚合能力即可快速方便地、定制化地、多维度地筛选和统计数据,丰富了用户画像,帮助用户结合业务场景实现从构建标签体系到对海量数据实现业务标识的全流程数据处理。

图片

应用场景介绍

智搜应用包括全文搜索、高级搜索、批量查询、数据分析、日志分析等模块。下面对其中核心功能模块进行简单介绍。

1. 全文检索

立足于不同业务需要,通过规范化的数据存储,全文搜索为用户可对多种主体提供灵活便捷的数据查询和动态配置,例如人员信息、职业信息等多主题、多字段的查询,全部主体的一键搜索以及多种档案的集成检索、命中统计、高亮显示以及按需排序。

输入框输入多个关键词用空格分隔可以实现精确以及模糊的组合查询。比如,输入'张* 男性'可以搜出姓张的男性。同时支持姓名拼音和汉字混合查询,如'zhangwei 计算机 26-45岁'。支持深度分页展示,高亮命中的值并且根据自定义规则排序。此外,输入框也能够联合构建的标签进行搜索。

图片

图片

智搜应用的检索业务对姓名等较重要字段跟其它字段采用了不同的打分设置、相比于检索词分散在两个字段的文档或是文档中只有部分检索词,将逻辑意义最接近检索词的文档定为较高得分,较好地权衡了搜索地召回率和准确率。

全文搜索在后台配置能够非常便利地添加、编辑新的模块和索引,便于用户操作使用数据,极大地降低了用户的使用及运维门槛。

图片

图片

全文搜索能够细化到字段是否可搜索、字段权重可配置、字段名称一键导入以及用户无感知的索引切换,实现了。

图片

图片

2. 高级搜索

无论数据之间是否存在关联关系,高级搜索可以按特征进行检索,用于支持细化的有针对性的多维度搜索,同时提供了精确或模糊检索的复杂查询方式。

图片

图片

针对不同数据实体,高级搜索还能结合不同业务场景下构建的标签进行联合筛选,便于用户以标签为维度分析和统计数据分布情况,根据不同业务场景的规则定制化地为使用者提供较为直观的决策参考。

图片

图片

3. 用户画像

从检索结果中感兴趣的数据条目可以进入其画像页面,按多个方面分栏展示查询到的结果,用户可以直观地了解该数据的基本信息、该数据条目的所有标签以及该数据的其他详细信息等,给使用者提供了多维度、可分析的数据。

图片

图片

同样地,在后台配置能够快捷地添加、编辑和删除数据模块涉及的索引、索引名称、字段名称和索引别名,同时支持高度自动化的搜索字段以及排序字段的设置,极大地降低了用户对数据的使用和运维成本。

每个数据模块展示的详细信息、字段动态可配置,能够非常便利地增加、减少详细信息及其字段的权限,支持了数据分级分类权限访问控制,赋予用户便捷安全地访问控制数据的能力。

图片

图片

多种数据模块存在多种自定义规则的标签,智搜应用支持了标签类型和标签的添加、编辑和删除,同时满足动态调整标签排序以及标签显示颜色,帮助用户快速编辑各种业务场景下的数据标签。

图片

图片

4. 数据分析

图片

除了以上的各种搜索,智搜应用能够支撑多维度更深层次的数据分析,例如展示具有双向关系的家庭关系、进行在相同维度有相同或交叉表现的分析,同时支持文件形式的任务输入、数据导出以及定时执行,赋予用户灵活方便地量化复杂问题的强大能力,降低了用户使用挖掘海量数据价值和关系的门槛。

5.统计分析与可视化 

借助于 Elasticsearch 对大量数据的强大聚合分析能力,智搜应用可以按多维度快速绘制统计图表,包括饼图、 柱状图或基于时间线的线状图,以可视化的方式为用户提供参考,便于用户以直观的方式观察、分析数据分布。

图片

图片

6. 日志分析

Logstash从最底层采集各种实时数据后,实时的日志也会放在Elasticsearch当中,智搜应用支持快速构建搜索日志、详情日志以及登录日志,同时也支持对日志的细粒度的搜索,方便用户审计登录行为、搜索的详细情况,为系统的运维安全提供了统一、透明的管理。

图片

图片

总结

ChatGPT出现之前,使用海量数据最便捷的途径就是搜索,构建一套高并发、高可靠、实时更新的搜索系统已经成为各行业应用大数据系统的刚需之一。

曙光云计算集团开发的智搜应用目前已经广泛应用于政务、交通、招聘、招商等大数据场景,取得了极好的应用效果,为海量数据支撑业务应用提供了极大的便利。

曙光智能云提供的云计算、大数据、安全、AI、数据湖运营等全栈服务,为构建搜索体系提供了完善的支持。对于用户来说,仅需要在线开通在线服务,对接好数据就能够快速实现业务上线,便于用户利用大数据推动业务创新,实现业务的随需应变。

图片

曙光云技术官方号,关注我们,带你了解更多曙光云技术干货。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多