3.2.1.企业搜索
创作人:朱永生
什么是企业搜索
企业搜索,顾名思义,就是企业使用的搜索服务或者说是企业提供的搜索服务。具体可以是企业的客户,使用企业提供的搜索服务,搜索企业提供的产品、服务等;比如电商企业提供搜索服务供客户搜索商品信息、应用市场提供搜索服务供用户查找 APP 等;也可能是企业内部各个部门成员,使用企业内部的搜索服务,搜索企业内的各种信息,比如项目信息、代码信息、文档信息等等。
企业搜索的特点
企业搜索因为不同的使用场景,具有其自己的特点。相较于大家熟悉和常用的百度、谷歌等互联网搜索,企业搜索有如下不同:
数据来源不同
众所周知,百度、谷歌等互联网搜索引擎,主要通过网络爬虫抓取互联网上的数据;而企业搜索的数据主要来源于企业自身,由企业自己的数据源提供。
数据内容不同
互联网搜索引擎抓取的数据,主要是各个网站公开的各种网页、图片、音频、视频、文档等;而企业搜索处理的数据主要是企业内部提供的私有信息,如产品信息、项目信息、内部文档、办公软件、邮件、数据库等等。同时,企业搜索也可以包括公开的各种数据。
数据更新频率不同
互联网搜索抓取数据是爬虫被动执行的,抓取到新的数据需要一定的时间,数据更新频率由于各种因素存在不确定性,数据更新可能并不及时;而企业搜索的数据源是企业自主可控的,数据往往是企业主动生成的,数据更新基本是实时的。
数据完整性不同
互联网搜索抓取数据,因为各种因素,比如网站列表无法做到完整、网站 Robots 禁止抓取、法律政策等,无法做到抓取和显示所有数据,用户搜索不到需要的数据是正常现象;而企业搜索的数据都是企业预先设定的,用户搜索的结果应按照设计进行展现,搜索不到本该展示的数据是不可接受的。
面向的用户和需求不同
互联网搜索面向的是大众普通用户,搜索方式方法和搜索结果,一般都不会因个别用户或部分用户的需求而改变;企业搜索面向的是企业内部用户或是企业某项业务的客户,在搜索方式上要尽力贴近用户习惯,在搜索结果上要足够完整和准确,能确切表达业务诉求。
搜索结果的可控性不同
使用互联网搜索的用户,搜索出来的结果不会因用户的不同而不同,搜索结果均以 PageRank 算法为基础进行排序展示,所有用户可搜到的结果基本是一致的;而企业搜索的结果需要根据用户的权限进行控制,不同权限的用户搜索到的结果是不同的,不该对用户显示的结果不能显示;同时,企业搜索的结果需要能够进行显式控制,比如通过排序策略、权重策略等,甚至需要直接处理搜索结果从而控制搜索结果。
Elastic 企业搜索能力介绍
Elasticsearch 是基于 Apache Lucene 的分布式搜索引擎,本身就具有全文检索、多用户、近
实时,可用于搜索各种文档的能力。而 Elastic 秉承让产品更易于使用的理念,在 Elastic
Stack 7.2 中引入了 Elastic App Search,在 Elastic Stack 7.7 中推出 Elastic Workspace
Search 正式版,并将 Elastic App Search 、 Elastic Workspace Search,Site Search 打包成了单独的解决方案,其名称就叫 Elastic Enterprise Search,也就是 Elastic 企业搜索。
App Search 、Workspace Search、Site Search 基本覆盖了企业的所有搜索应用场景。
App Search 针对企业产品应用搜索场景,在 Elasticserach 强大的存储和分析功能之上,提供经过优化的 API、直观的仪表板、易用可调的相关控件以及可快速集成的客户端。
Workspace Search 针对企业内部办公搜索场景,提供无缝连接办公协作效率工具向导和 API,借助 Elasticsearch 构建集中信息源,对分散在各个办公软件中的信息和文档,设置自动同步并进行再组织和定制,解决团队协同办公过程中的信息孤岛问题。常见的办公软件如Salesforce,Dropbox, Google docs, Sharepoint, Jira, Confluence 等都提供了友好的接入向导,当然也可以使用自定义源接入其他的系统。Workspace Search 可针对每名团队成员进行权限控制、相关性配置、个性化结果定制等,在安全可控的范围内,帮助团队提高获取信息的速度、完整性并提高信息利用率。
Site Search 的核心是网页爬虫,是一套帮助企业快速构建网站搜索功能的工具。只要输入网址,爬虫就可以自动采集内容并自行定期更新,也支持用户手动对特定页面或者整个网站重新索引。Site Search可以通过自动更正、双连词匹配、词干提取、同义词等功能,提供复杂查询的支撑;也可以通过直观的界面快速调整页面排名、增减权重和同义词等。
虽然 App Search 、Workspace Search、Site Search 针对的应用场景有所不同,但都是企业搜索场景,并且相关支撑能力也是通用的或者类似的。下面我们就通过了解 Elastic Enterprise Search 解决方案来理解Elastic企业搜索能力。
快速部署能力
Elastic Enterprise Search 支持四种部署方式,分别是 Elastic 云实例、Elastic 云上 Kubernetes 集群部署、Linux/MacOS 包部署和 Docker 容器镜像部署。四种部署方式都非常简单快速,相对来说,阿里云 Elasticsearch 服务实例门槛最低且功能丰富,支持 30 天免费使用,适合快速学习了解产品功能;而 Linux/MacOS 包部署相对复杂一些,适合熟悉操作系统和想了解安装部署细节配置的用户;如果不想使用云服务也不想一步步下载和配置安装包,那么使用 Docker 部署是一个好的选择。
统一认证能力
Elastic App Search 和 Elastic Workspace Search 支持标准的用户名密码模式、Elasticsearch 本地域模式和 Elasticsearch SAML 第三方统一认证模式进行登陆认证和角色授权。其中标准用户名密码模式,由管理员在 Elastic App Search 或 Elastic Workspace Search 的面板上对用户进行管理;Elasticsearch 本地域模式 Elasticsearch Native Realm 由 Elasticsearch直接管理和存储用户信息;Elasticsearch SAML 模式是 Elasticsearch 使用第三方统一认证进行用户的登陆认证,而 Elastic App Search 和 Elastic Workspace Search 直接继承了
Elasticearch 中的 SAML 配置。
角色授权能力
不管使用哪种登陆认证模式,Elastic 企业搜索均支持按角色授权,不过针对每种认证模式,授权的方式略有区别。在标准的用户名密码认证模式下,Elastic App Search 使用基于角色的访问控制 (Role Based Access Control) 对用户进行授权,可授权的角色有:Owner、Admin、Dev、Editor、Analyst 等;而 Elastic Workspace 是基于数据内容权限、用户所在部门等因素对用户进行分组,然后对分组进行授权,是基于用户组的访问控制对用户进行授权。在
Elasticsearch Native Realm 和 Elasticsearch SAML 认证模式下,Elastic App Search 和
Elastic Workspace Search 都使用角色映射对用户进行授权,先在 Elasticsearch 中创建角色,然后在 Elastic App Search 和 Elastic Workspace Search 中对 Elasticsearch 中创建的角色进行映射。Elastic App Search 中可映射的角色有:Owner、Admin、Dev、Editor、
Analyst等,Elastic Workspace Search 中可映射的角色有:Admin、User。
支持不同级别的内容源
Workspace Search 可以采集各种来源的数据内容,支持使用自定义 API 接入,同时针对GitHub、Jira、Confluence、Google Driver、OneDriver、SharePoint Online、Gmail、Slack 等十几种常见办公应用,提供了方便进行接入的数据采集向导。另外,Workspace Search 支持 Organization Content Sources 组织内容源和 Private Content Sources 私有内容源,也支持 Standard Content Sources 标准内容源和 Standard Content Sources 远程内容源。组织内容源一般由管理员配置,供整个组织使用;而私有内容源可由个别用户自己配置并仅供自己使用。标准内容源中的所有源数据都将被进行采集并存储;而远程内容源仅采集部分信息,依赖数据源的搜索端点进行数据检索。因为标准内容源采集的是全量数据,如果有多个用户对同一个内容源建立了多个数据连接,那么数据就会被采集并存储多份,对 Elasticsearch 的存储容量影响很大;而远程数据源因为采集的数据非常少,在相同情况下,对 Elasticsearch 的影响非常小。当然,建立可检索的远程内容源有个前提条件,就是远程内容源本身是有检索端点的。
Site Search 的网页爬虫,只要输入网址,爬虫就可以自动采集内容并自行定期更新,并且支持用户手动对特定页面或者整个网站重新索引。
《Elastic Stack 实战手册》——三、产品能力——3.2.核心应用场景——3.2.1.企业搜索 (2) https://developer.aliyun.com/article/1231679