查看原文
其他

达观数据:企业级搜索如何更好落地?

张卓林 达观数据 2022-09-16


随着信息时代的飞速发展,企业信息化普及的速度也越来越快。企业内部的各种应用系统也越发的完善。在信息化建设的脚步不断前行的同时,企业内部的信息资源膨胀也越发严重。随之而来的便是对信息资源查找的成本成倍上升,效率降低。那么如何在保证信息安全的情况下,完成快速高效的定位和查询,也就变成了我们企业级搜索所要解决的主要问题。


 

一、企业级搜索是什么

说到搜索,我们很容易联想到google、百度、搜狗、bing等一些主流的互联网搜索引擎。这些搜索主要都是通过网络爬取到的一些互联网上的信息内容,用户会根据自己的需求,输入一些关键信息来查询自己想要得到的信息。


那么说到企业级搜索,相对来说大家平时的关注度还是没有那么高。那什么是企业级搜索呢?顾名思义,所谓企业级搜索,是用户搜索习惯在组织中的延伸,是一种随着搜索引擎的普及和习惯养成后逐渐形成的一种基于组织的搜索需求,是在组织内整合获取工作所需信息的需求。包括企业、网络媒体、政府机关、教育科研等,属于搜索引擎的高级应用。企业用户对信息的需求也不仅仅限于简单的查询结果,而是结合搜索、数据库查询、语义句法分析、分类和聚类、相关性分析等技术,整合现有的信息资源,提炼出具有商业价值的或社会价值的数据支持。




二、互联网搜索与企业级搜索有什么区别与联系



1、从搜索的数据层面上


首先从获取数据的来源看:互联网搜索的数据主要来源于网络爬虫的数据采集。而企业级搜索的数据来源主要是通过企业内部的主动产生。那么,由此所带来的数据更新时间上的差异也就产生了。相对来说,互联网搜索依靠爬虫爬取到新的内容,从产生到获取到还是需要一定时间的。而从企业级搜索的角度来说,新数据的产生都是可以及时感知到的,所以相对来说,数据从产生到获取的时间可以几乎达到实时。

 

2、从搜索排序层面上


从互联网搜索的排序来看,主要都是基于网页排名(pagerank)的算法来进行排序的。


Pagerank源于google,主要用来衡量特定的网页相对于搜索引擎中其他网页而言的重要程度,它实现了将链接价值概念作为排名因素。此外还有一些其他的算法,例如hilltop,trustrank等。相对来说互联网搜索会基于网页结果的重要程度进行排序,而相对来说企业级搜索的结果在满足匹配程度的基础上,并不像互联网搜索那样关注结果之间的联系,更多的来源于企业内部的业务逻辑。

 

3、从搜索结果层面上


对于互联网搜索来说,由于某些相关性,或者无法覆盖所有数据等多种原因,用户在进行结果搜索时没有想要的结果也会对此予以理解。但对于企业级搜索来讲,发过哪些文档,邮件等等。具体发生过的事情,如果通过相应的检索逻辑,却无法得到相应的检索内容,用户是无法接受的。

 

4、从搜索权限上


相对来说,互联网搜索的面向的用户没有明确的权限划分,即使有政治因素影响,对结果的搜索过滤也是全局的。而对于企业级搜索来说,往往企业内部有严格的权限控制,对于不同级别的用户搜索到的结果是截然不同的。

 


三、企业级搜索的价值


现有组织中经过多年的运营和积累,存储了海量的信息资源。由于某些历史的原因,这些海量的信息资源管理分数,共享困难。据调查统计,人们有大概有60%的时间花在不同信息的搜索上,而仅有40%的时间用在创造价值的工作上。那么做好企业级搜索的价值和意义也就显而易见了。



1、推动数据的结构化存储,规范化企业资产的积累


随着大数据时代的到来,对企业内部的数据价值的重视程度也越来越高。现在企业内部有80%的数据都属于非结构化数据。实际上并不是所有数据都能直接对我们产生价值。能够直接产生价值的,可以直接用来分析的其实只是企业内部的结构化数据。类似于文件、音频、邮件等这样的非结构化信息数据是很难被我们直接使用的,除20%以数据库的形式进行存储外,其余部分则散落在计算机系统中的各个角落。


而随着我们企业搜索的建设,大量的数据和信息会按照需要进行结构化处理。不仅可以提升我们检索的效率,另一方面也在一定程度上完成了我们对现有信息数据的结构化。让累积的数据真正从非结构化的数据变成可以用来分析的数据资产。


2、提高价值产出,提升搜索效率

对于不同的企业和组织来说,规模越大,涉及到的业务系统也就越多。那么对于数量日渐庞大的业务系统,以及数量众多的企业员工来说,搜索效率的提升所带来的收益还是非常可观的。通过企业级搜索,打通各个业务系统的壁垒,可以让企业搜索的效率进一步得到提升。虽然针对不同的企业,搜索效果的提升带来的效率变化以及成本的节约会有所不同,但总体来说,系统数量越庞大,使用人数越多,对企业内部搜索效率的提升就越多。每个人每次搜索提升30%的效率,对于整个企业来说,也是一个不小的收益。



四、企业级搜索如何落地


要做一个好的企业级搜索项目,有两个条件是必不可少的。首先要保证的是大方向上不能错,其次是技术上要过关。那么下面我们也将从这两个方面来进行分析如何将一个企业级搜索成功落地。


1、方向如何保证


1.1、确定好目标


有很多的时候,我们发现客户更清楚的是自己的“愿景",而不是具体的目标。那么我们需求阶段要做的就是把所谓的客户愿景变成可分步、可落地、可衡量的具体目标。那项目过程中,我们该如何制定我们的具体目标?


一个好的目标制定,会帮助我们更好的解决问题。通常情况下暴露出来的更多是问题,就比如在大多数企业需求调研过程中,我们听到的最多的就是“希望搜索反应速度能变快”、“搜索的效率可以提高”,“可以精准的获得结果”。好的目标制定一定要做到可衡量。比如:“在XX数据量下XX并发下可以在秒级(1秒左右)出结果”,“用户搜索的每日平均时长降低50%”,“用户每日搜索请求检索的平均次数降低1/3”。明确化的目标,方便实施过程中更好的落地,也知道了相对具体标准的差距,优化也就有了方向。


1.2 确定好阶段


有了明确的目标制定,接下来需要做的是在合理的范围内进行目标的排期。让目标真正做到量化,可执行。阶段性的目标不仅可以作为我们阶段性成果的检验,另一方面也可以让我们在接下来的过程中更好的修正方向。一般来说,企业级搜索涉及到的系统数量可能有很多,我们一般会建议只对其中的一个或者几个系统进行企业级搜索的接入。往往我们发现,部分企业其实对企业级搜索没有明确的概念,调研过程中也很难明确的知道自己要的是什么,反而在做完一个阶段后,就会发现自己对目标有了新的理解,也更明确了自己要什么。那么在后面做的时候就可以更好的落地,形成一个正向的结果偏移。


1.3 持续完善


对企业级搜索来说,当完成了一次从0到1的跨越后,其实还远没有结束。目标的完成并不意味着终结,反而是一个新的开始。第一步,我们完成了角色权限,数据的上报等。让用户可以通过企业级搜索平台来完成各种搜索请求。除此之外我们还有很多可以优化的空间。比如:


1.3.1 结合语义搜索


搜索过程中,我们可以基于对搜索词语的语义分析理解,让我们更加接近用户想要找到的内容。通过对搜索词的记录,结果的点击、收藏等行为进行搜索结果的调权,让排序的结果更优。对于不同部门的人员、角色、职级等也可以通过对行为的记录来使得不同用户得到不同的效果(搜索推荐)。



1.3.2 完善特定搜索


对于搜索的结果我们也可以进行进一步分类,比如针对搜索的特定词语,例如:“出差”,“请假”,“手册”,“文档”,等进行结果展示的优化,进一步提升搜索交互体验。例如搜索“出差”,“请假”可以直接在结果页面进行流程的填写,“手册”,“文档”等可以在页面直接进行查看。由此,根据对用户搜索行为的分析,可以进一步提升搜索体验以及工作效率。



1.3.3 用户行为反馈


针对用户搜索行为的反馈是一个对搜索持续调优的过程。在满足了基础的搜索功能后,接下来我们要做的就是根据现有的用户搜索行为进行分析。在使用过程中我们也会产生很多和搜索相关的数据信息,我们可以将这部分信息进行集中统计(使用行为报表),定期进行分析,对我们搜索场景,甚至业务流程进行进一步优化。



2、技术如何实现


在保证方向正确的基础上,我们只要再做到强大的技术支撑,就可以完成企业级搜索的建设了。虽然搜索的技术涉及多且广,但从总体上来看无非技术索要处理的问题分为以下几类:


2.1数据源处理


数据源部分处理的主要目的是将已有数据进行结构化。关于数据源部分的处理最终还是来源于我们的具体需求。而数据部分的获取主要分为两种方式,一种主动采集,另一种被动接收。


被动接收

被动接收的方式更适用于实时性要求较高的系统搜索。但通过业务系统进行上报需要对业务系统进行一定量的修改,对于部分不便对业务系统进行修改,且实时性要求没有很高的情况下,可以通过企业搜索系统来对数据主动进行采集。


主动采集

相对业务系统的主动上报,主动采集的灵活度更高,可以根据业务库的不同情况控制同步的时间,一方面可以减少对业务库的访问压力。另一方面也可以避免对业务系统进行修改开发。


2.2 权限处理


对于权限的处理,首先我们要明确的是系统的定位。企业级搜索一定是依照着我们现有企业的组织架构来的,并不是需要重新定义企业内部的权限,所以以往的处理方式我们也是按照企业内部现有的权限管控平台来进行接入的不同的企业中,可能会涉及到很多不同的组,角色等等。那对于我们搜索系统来说,无论是有多少组,角色,或者更为复杂的组织架构。我们最终都会抽象为搜索人与搜索内容上。最终只要对应的搜索内容与对应的搜索人有交集,进行返回即可。


例如:



角色权限:[R001,R002] 

组权限:[G001,G002]

个人权限:[U001,U002] 

XX权限:[X001,X002]

 

User[R001,G001,U002]

Data[R001,G001,U003]


这样只要保证对应的User和Data中有权限的交集进行返回即可。按照这种模式,无论我们企业内部有着怎样的组织架构,都可以满足条件。



2.3 搜索处理


关于搜索处理,最核心的部分就是搜索引擎。而搜索引擎在选择的时候,务必要了解自己的业务诉求,再对搜索引擎进行合适的选择,而并非一味跟风。首先我们要明确搜索的主要目的:——可以快速检索与用户查询最相关的匹配,并排除其他常规内容。


搜索的主要功能由搜索引擎来提供,当前大约有20个搜索引擎可供选择,我们建议使用以下三种之一Elasticsearch,Solr或Sphinx——这是近些年综合评价最高的三种引擎。这三个都是开源搜索解决方案,得到了他们的贡献者社区的充分支持。它们都具有高性能,可扩展性和灵活性。可以覆盖绝大多数的业务场景。


参考 【搜索引擎的DB-Engines评级】


具体选择哪种引擎取决于我们的具体搜索业务。总的来说企业级内部搜索我们还是更多的推荐适用Elasticsearch,主要原因有以下几点。


2.3.1 基础功能:

搜索相关的搜索基本功能都支持使用(自动补全、高亮、多字段、模糊等)。从这一点上来说,三种搜索引擎的区别并不是很大。相对来说如果会经常用到多属性值的搜索(类似于电商网站上的品牌,价格的搜索)选择Solr和Sphinx会更好一些。


2.3.2 数据处理:


企业内部的数据生产能力还是不可忽视的,对于一个万人以上的企业来说,每日数据增量在百万到千万级别。如果涉及到的搜索业务请求对数据的拓展要求很高的话,则优先推荐Elasticsearch。当数据不断增长时,查找起来就会变得越来越困难。但对于Elasticsearch来说,可以进行简单的横向拓展,在支持更多数据的同时搜索速度不会降低。相对来说,Solr的优势在于静态数据的检索很快,而对于动态数据的支持不如Elasticsearch。Sphinx对于文档的检索是非常高效的,而对于某些非结构化的处理能力较弱,需要大量的开发以及复杂的配置。


2.3.3 数据可视化:


这部分功能主要是用于搜索情况统计,便于后续进一步对搜索功能进行优化。其中Elasticsearch的数据可视化功能(Logstash和Kibana插件的组合)是分析的绝佳工具,在近实时的同时,它包含了几乎所有需要进行监控分析的点,这对于问题的查找以及后续及时的拓展是很有帮助的。而Solr中提供了基础的搜索监控信息,可以满足管理员动态的监控各类情况。而Sphinx到目前为止还并不支持数据化图表的监控和展示。

 


 

综上所述,不同种类的搜索引擎更适用于不同的业务搜索场景,我们再选择的时候也要根据不同的实际情况,不同的侧重来选择合适的搜索引擎。相对来说ElasticSearch满足的场景和功能更多,优势也更加明显,往往在我们对于某些场景没有明确定义或者不了解的时候提供了选择的方向,同时功能繁多且灵活的插件也给了ElasticSearch在不同方面成长的空间。


除此以外,我们还可以通过向量搜索的方式来进行企业级搜索。相对来说,向量搜索的方式和搜索效果更加智能。通过上面传统意义上的搜索引擎来说,对于一些文档、图片或者甚至视频、音频等的搜索更多的依赖于数据源的处理,标记等等。普通的内容搜索也会相对来说比较死板,同类词,相关搜索更多的是靠对搜索行为的分析和维护。那么在通过向量搜索来说,这些非结构化数据可以直接通过向量的方式来建立索引(word2vec),然后通过逼近最近邻(approximate nearestneighbor,ANN)算法,进行向量的检索,然后就可以达到所谓的 “中国-北京 = 美国-纽约“ 的效果。类似的搜索算法如SPTAG(Space Partition Tree And Graph),感兴趣的同学可以自行了解,这里不再详述。

 

2.4 结果处理

 

最后一个部分说到的是关于搜索结果的处理。在通过数据的获取,权限的过滤,对应结果的召回后,我们会发现对于返回的结果,我们日常使用中还会有进一步优化的空间。

后续的优化主要是以LTR(Learningto Rank)的监督学习算法来完成的。简单来说,通过对搜索结果的不断反馈,对一类搜索词,某一个部门,或者某些岗位来说,针对那些正确的,符合的结果提高加权,从而使得再进行相应搜索的时候将权重高的结果优先展示,来达到快速获取“好“的结果的目的。往往结果部分的处理,需要较长时间的积累和调优。但实际经验表明,这种搜索结果的优化方式是可行的。


结语

总体来说,企业级搜索对于企业效率的提升和数据化运营的推动是必不可少的。在企业级搜索落地过程中,规划好前进方向,明确好每一步的建设目标,是成功必不可少的条件。在此基础上,结合自身的业务场景,选择最合适的解决方案,这样才能发挥企业级搜索的最大价值,从而为企业创造更多的收益。


A

BOUT

关于作者

张卓林:达观数据项目经理,负责客户私有化项目交付,主导过互联网,零售,电力等多个行业大型智能化场景落地。



相关阅读




戳原文,申请试用达观数据产品

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存