Elasticsearch生态技术峰会 | Elasticsearch在企查查的应用实践

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。

开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术的未来。

 

视频静态封面-780-388-0120备份 11.png

 

本篇内容是企查查搜索部门经理范兆明分享的Elasticsearch在企查查的应用实践。
分享人:企查查搜索部门经理范兆明

视频地址:http://cloud.video.taobao.com/play/u/3177173649/p/1/e/6/t/1/297441406466.mp4

众所周知,企查查是一家专业做工商查询的公司,所有的业务入口都是基于查询完成的,可以说查询是实现企查查价值的主要入口。所以,本篇内容将介绍Elasticsearch在企查查的应用实践。

企查查遇到阿里云ES时的状况是,海量的数据无法存储,存储后的数据无法做大规模的分析,实时的用户行为得不到到监控。基于这些痛点,让企查查在寻找解决办法的过程中遇到并认识了阿里云ES。通过搭建ELK日志分析平台、日志分析、全文检索等功能,充分的了解和熟悉了ES。

ES主要的技术革新和特点,总结而言有三个:架构天生分布式、检索全文和结构、分析实时聚合。

架构天生分布式

ES天生的分布式架构可以通过硬件扩容的方式实现海量数据的膨胀,并且它的副本模式能够解决数据安全问题。

 

image.png

 

检索全文和结构

通过Lucene的倒排索引、Bm25的全文检索和高效的结构化检索,能够满足大部分搜索场景。

分析实时聚合

实时的海量聚合能力和多聚合模式能够完成大部分分析场景。

基于以上ES的能力,最终企查查选择了阿里云ES。那么阿里云在ES的基础上又带来了哪些方面的便捷呢?

 

image.png

 

优秀的NLP分词器

阿里云ES具有优秀的NLP分词器能力。目前主流的ES中文分词器有IK和ANSJ等主要的几种,企查查选择了IK和ANSJ后,清洗了大约百万级的基础数据,然后导入到IK和ANSJ。通过阿里云分词器对比了IK和ANSJ分词器发现,基于NLP的阿里云分词器更优秀。

区别就在于,基于NLP的阿里云分词器可以在不同场景解析出不同的语义,完成不同分词,所以企查查最终的解决方案是,以阿里云分词器为主,以ANSJ分词器为辅做了两套分词模式,同时应用于文档搜索。

一站式管理和高效扩展

这两个特点原本就是云平台的天然优势,这也是为什么中小企业和高速发展企业会选择云平台的根本原因。

企查查基于阿里云Elasticsearch设计的应用实践,这里给大家介绍几个核心的数据。

 

image.png

 

5000+QPS
5000+QPS是指实时峰值QPS达到每秒5000;

200+应用
200+是指目前有200个数据维度参与了实时搜索;

8TB数据
8TB是指所有实时搜索数据加起来超过8TB。

从下图企查查的发展历程可以发现,2014年企查查只有单一的工伤搜索维度;发展到2020年底,企查查已经超过了200多个搜索维度。快速的版本迭代、数据爆炸式的增长、爆炸式的用户请求等等都在阿里云ES上都得到了很好的体现。因为阿里云具有足够稳定、快速扩容、大大减少运营成本和搜索故障等特点,在这些年的发展中不断的提升企查查的搜索体验。

 

image.png

 

企查查的技术特点

企查查涉及到的其他技术特点跟全文检索特点是一样的,包括高并发、海量数据、实时聚合和分词等特点。高并发和实时聚合也是ES所擅长的,再加上阿里云优秀的NLP分词器,两两作用后让企查查搜索体验更优秀。

 

image.png

 

搜索的目的

我们越来越重视搜索并不断提高搜索体验,那么搜索需要呈现的结果是怎样的呢?

 

image.png

 

第一个是精准搜索。顾名思义,就是把搜索词和文本词完全匹配的结果返回给用户;

第二个是分词匹配。分词匹配是目前搜索技术的主流,也是最难实现的。难度在于,虽然有基于语义的分词器,如基于NLP的阿里云,但仍然会有分词异常和分词歧义的时候。基础数据的权重配比、清洗排序能否达到用户预期和搜索意图,都是长期迭代的任务。

第三个是意义搜索。意思是当用户搜索的词,在精准搜索和分词搜索都没有匹配,但实际上意义是一样时提供的服务,比如番茄和西红柿,或是同音字和形近字,这个时候就会需要意义搜索。意义搜索就是把同义字、同音字和形近字都反馈给搜索用户。

第四个是意图搜索。当用户搜了一大段内容,但是在分词、精准和意义搜索里都没有办法找到搜索结果时,就需要提取用户搜索的核心词, 然后用核心词再去搜索并反馈给用户结果。

第五个是部分匹配搜索。意思是当上述四个搜索都没有结果的时候,需要将部分匹配出的结果反馈给用户。

Elasticsearch还能带来什么?

目前ES在机器学习方面做了持续迭代,可以自动发现实时数据异常,自动实现业务的实时监控。

ES可以做更深层次的数据分析,还可以将发现数据的核心词和数据的特点推荐给搜索的用户。

 

image.png

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php中的active,用ActivePHP打造版本管理系统

用ActivePHP打造版本管理系统学习PHP时,我们总是被教导到,PHP是一种服务器端脚本,是不能用来控制客户端的。而伴随着PHP5的发布,这句话就不是那么正确了。因为现在,PHP也可以用来写客户端脚本了。是的,你没…

漫话:为什么计算机用补码存储数据?

作者 | 漫话编程来源 | 漫话编程我们知道,计算机只认识0和1,现实世界中的内容,无论是文字、音频、视频等等想要通过计算机存储、计算或者展示,都需要转换二进制。就像你刚刚唱的旋律,想要存储在计算机中也是要转成二进…

cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...

特别福利:私信发送关键词【福利】,年度最全Office办公资源等你免费领哟~很多人都知道,有时在屏幕上并排查看起两个文件的内容,是一项非常顺畅和方便的操作——省去不少在不同窗口间来回切换的时间!当然,对于…

数据仓库如何实现湖仓一体数据分析?

简介: 随着云计算的普及和数据分析需求的扩大,数据湖数据仓库的湖仓一体分析能力成为下一代数据分析系统的核心能力。相对于数据仓库,数据湖在成本、灵活性、多源数据分析等多方面,都有着非常明显的优势。IDC发布的十项2021年中国…

Java应用全链路启动速度提升至15s,阿里云SAE能力再升级

简介: Java 作为一门面向对象编程语言,在性能方面的卓越表现独树一帜。但在高性能的背后,Java 的启动性能差也令人印象深刻,大家印象中的 Java 笨重、缓慢的印象也大多来源于此,高性能和快启动速度似乎有一些相悖。 近…

php组成,PHP的控制结构,PHP脚本是由一系列语句组成的。

任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本…

怎么取消苹果手机自动续费_知乎会员怎样取消自动续费

已开通连续订阅,需要从第三方支付账户( 或系统 )中关闭自动续费功能。否则自动续费仍有效,会持续扣费。
关闭路径如下:1.收到 【App store & Apple】 扣费账单的用户 (使用的是苹果支付方式&#xff0…

到底什么是“无源物联网”?

作者 | 小枣君来源 | 鲜枣课堂继Cat.1之后,2021年的物联网行业,又“喜提”了一个新的“风口”。这个“风口”的名字,叫做“无源物联网”。无源物联网,到底是个啥东东?它和现有的物联网技术之间,有什么区别&…

Gartner魔力象限到底有何“魔力”?

简介: Gartner魔力象限到底有何“魔力”?近日,Gartner发布了一系列最新魔力象限报告,在IT圈掀起了阵阵“龙卷风”,谁跻身全球第一阵营,谁跌出“领导者”象限,权威定调,众说纷纭&…

K8s 原生 Serverless 实践:ASK 与 Knative

简介: K8s 处在一个承上启下的位置,云原生用户使用 K8s 的目的是为了交付和管理应用,也包括灰度发布、扩容缩容等。但是对用户来说,实现这些能力,通过直接操作 K8s API 难免有些复杂。另外节省资源成本和弹性对于用户来…

react安装_前端大牛进阶---gt;React必会教程

一、背景介绍01React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源…

透过 3.0 Preview 看 Dubbo 的云原生变革

简介: 做过微服务开发的开发者相信对 Dubbo 都不陌生,Dubbo 是一款能帮助我们快速解决微服务开发、通信以及流量治理的框架。相比于之前只限定在 Java 语言范围内,Dubbo 的多语言版本在这两年呈现了良好的发展势头,其中&#xff0…

扩展云存储边界,阿里云推出全球首个云定义存储产品

云计算正带来一场消除线上线下存储边界的革命。 9月22日,阿里云宣布云存储服务全面升级,包括性能大幅提升300%、时延降低70%的ESSD云盘;可兼容HDFS的数据湖存储OSS,同时推出一款全新产品“云定义存储”(Cloud Defined…

php新闻添加图片,PHP操纵blob巧将图片存入ORACLE

下面是一个用PHP操纵blob字段的例子,这个例子实现的是把用户上传的图片文件存放到BLOB中。首先假设有一个表,结构如下:CREATE TABLE PICTURES (ID NUMBER,DESCRIPTION VARCHAR2(100),PICTURE BLOB);然后是用来处理数据的PHP程序代码。//建立O…

Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题

简介: 2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang。众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇。Java 版 Seata AT 模式通过对 DataSource 数据源进行代理,在 sql 语句…

安装redis提示[test] error 2_技术干货分享:一次flask+redis的微服务实战

先说一下需求的场景,策划部门想做一个垂直领域的社区产品,类似与知乎那种,但受益人群是金融行业的从业人员。产品中有一个搜索问题的需求,搜索的问题去题库中进行模糊匹配,终端支持H5/APP/小程序,甚至是微信…

实现阿里云容器镜像服务反向访问代理

简介: 本文会先介绍镜像推送/拉取过程的交互逻辑来梳理需要代理的所有服务,再通过搭建一个公网 HTTPS 反向代理来访问容器镜像服务来向您展示多场景代理访问模式原理。 真实业务场景可能很复杂,因安全、合规、访问限制等原因可能需要&#x…

频谱扩展 matlab,语音信号频谱扩展

%% pr10_3_1clear all; clc; close all;filedir[]; % 设置路径filenamecolorcloud.wav; % 设置文件名fle[filedir filename]; % 构成完整的路径和文件名[x, fs, bits] wavread(fle); % 读入数据文件xx-me…

数字基础设施开源操作系统欧拉全新发布

在华为全联接2021上,面向数字基础设施的开源操作系统欧拉(openEuler)全新发布。欧拉操作系统可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备,应用场景覆盖IT(Information Technology)、CT&am…

二分k均值 matlab,Matlab函数kmeans:K-均值聚类

转自:http://hi.baidu.com/lewutian/item/35dd29efec13d0f5e1a5d418K-means聚类算法采用的是将N*P的矩阵X划分为K个类,使得类内对象之间的距离最大,而类之间的距离最小。使用方法:IdxKmeans(X,K)[Idx,C]Kmeans(X,K)[Idx,C,sumD]Kmeans(X,K)[I…