香蕉说说网_伤感说说_个性说说_心情说说_心情短语

香蕉说说网_伤感说说_个性说说_心情说说_心情短语

http://www.xjwgg.com

菜单导航
搜索是一个古老的技术,从互联网发展的第一天开始,搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发
主页 > 爱情说说 > 正文

华为开发者大会HDC.Cloud技术探秘:云搜索服务技

作者: 香蕉说说网 发布时间: 2020年04月01日 15:08:44

搜索是一个古老的技术,从互联网发展的第一天开始,搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发展,数据呈爆炸式增长,搜索技术通过数据收集与处理,满足信息共享与快速检索的需求。基于搜索技术,更是缔造了谷歌、百度、雅虎等一批知名企业。

搜索也是一个蓬勃发展技术,它串联起了问答、地图、小程序等各式各样新的应用形态。最近十几年间,也应用到了更早前并无直接关联的IT运维等领域。更是通过技术融合推动了AI、NoSQL、OLAP等相关技术的发展。

日前,华为开发者大会HDC.Cloud DevRunLive开发者技术沙龙上,华为云专家做了关于“云搜索服务技术实践”的技术演讲。本文为大家介绍业界流行的搜索应用场景,开源Elasticsearch的应用,以及华为云搜索服务在此基础上的一些增强。

一、什么是搜索?

搜索行为的基本流程

从技术上来看,搜索指的是:依据不同类型数据的条件组合,筛选出符合条件的记录(或称文档),并依照某种排序规则进行TopN的选择,最后进行呈现。

具体的过程,如上图所示。我们在生活中遇到的各种类型数据,像新闻文档、电话号码、年龄、体重、地图坐标等,在搜索系统各种会映射成不同类型的索引,比如文本一类的数据被映射成倒排表索引,数字一类的数据被映射成KD-Tree索引。还有一类特殊的数据,像图片、视频等多媒体信息,他们不能直接被表达为索引,而是通过机器学习表达为一个个向量数据,然后存储为搜索系统中的向量索引。

各种数据转换为索引后,我们就可以通过不同的条件描述组合来进行搜索了。通过索引来搜索相比一条条数据的过滤,通常速度会快好几个数量级,从而快速筛选出符合条件的数据条目。

最后,当筛选出来的数据条目非常多的时候,人难以一次阅读过来,还有有一个排序的过程,比如按照是否最新、猜测是否最符合搜索目的等方法挑选出其中的Top N条,最后进行呈现。

上述是从技术角度来阐述什么是搜索,从实际应用来看,更加容易体会搜索的形态以及价值。

搜索的部分应用

从业务上来讲,搜索是一种灵活提取/组织企业知识的手段,面向客户或企业自身都有很强的应用价值。在泛互联网/泛政府/大中小企业都有广泛的应用。

二、企业如何构筑自己的搜索系统?

如果从头开始构筑自己的搜索系统,会是一个非常耗费时间与资源的事情,因为搜索技术确实比较复杂。就比如前面说过的表达文本索引的倒排表,就会有FST、PForDelta、Skip List等等很多底层数据结构以及工程实践要实现。再加上行列存储、数值索引、向量索引、分布式等其他方面的内容,投入的时间和资源会是一个惊人的数字。对于不是以提供搜索引擎为主业的企业来说,最好的选择是从一个优秀的开源软件开始,比如Elasticsearch。

Elasticsearch,简称ES

Elasticsearch拥有着强大的功能,从它开始搭建搜索系统能够节省大量的时间与资源。

当然使用开源软件也不是一个一劳永逸的事情。如果是一个单机的Demo,很容易。但是一旦上到生产系统,事情就变得不那么简单了。

图片3.png

生产环境下,事情变得复杂

在生产环境中,要考虑集群化以应对大量的数据与请求,还要考虑业务连续性所要求的可靠性以及极端情况下可恢复性,防止恶意操作或者误操作的安全准备,以及业务的扩张带来的对应资源添加等等。这些问题都需要大量的经验来支撑操作,这使得企业不得不投入额外的精力来操作这些不属于主业务的事务。

为了帮助企业更好的完成上述任务,华为云推出了云搜索业务,能够大幅简化生产环境下Elasticsearch的维护工作量,并且在部分ES原本处理较薄弱的地方,进行了增强。

图片4.png

华为云搜索,为生产环境充分考虑

华为云为了让企业在生产环境上的搜索系统更易于构筑,做了如下几个方面的工作:

兼容性:100% 兼容Elasticsearch APIs,支持5.x到7.x多个版本

易用性:分钟级集群创建、扩容,一键式备份与恢复,7*24看护

安全性:支持优秀的分权分域,底层磁盘加密

高可用:扩容节点、磁盘业务不中断,更新词库业务不中断

可靠性:支持跨AZ冗余配置,自动化的增量备份

高性能:慢报表自动加速,费时降低百倍,集成向量索引,多媒体检索时延低至ms级

低成本:存算分离的架构,长时间数据存留成本降至20%

前面的5条,可以笼统的归结为生产环境上的必要条件。这里重点聊一下最后两条中的内容:向量索引、存算分离、报表加速。

一、向量索引

welcome