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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,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

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费 X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费
下载白皮书:Elasticsearch 八大经典场景应用


image.png

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
存储 关系型数据库 MySQL
浅谈Elasticsearch的入门与实践
本文主要围绕ES核心特性:分布式存储特性和分析检索能力,介绍了概念、原理与实践案例,希望让读者快速理解ES的核心特性与应用场景。
|
2月前
|
机器学习/深度学习 存储 监控
Elasticsearch 在日志分析中的应用
【9月更文第2天】随着数字化转型的推进,日志数据的重要性日益凸显。日志不仅记录了系统的运行状态,还提供了宝贵的洞察,帮助企业改进产品质量、优化用户体验以及加强安全防护。Elasticsearch 作为一个分布式搜索和分析引擎,因其出色的性能和灵活性,成为了日志分析领域的首选工具之一。本文将探讨如何使用 Elasticsearch 作为日志分析平台的核心组件,并详细介绍 ELK(Elasticsearch, Logstash, Kibana)栈的搭建和配置流程。
270 4
|
14天前
|
存储 SQL 监控
|
1月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
14天前
|
自然语言处理 监控 数据可视化
|
1月前
|
人工智能
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
172 2
|
1月前
|
消息中间件 监控 关系型数据库
MySQL数据实时同步到Elasticsearch:技术深度解析与实践分享
在当今的数据驱动时代,实时数据同步成为许多应用系统的核心需求之一。MySQL作为关系型数据库的代表,以其强大的事务处理能力和数据完整性保障,广泛应用于各种业务场景中。然而,随着数据量的增长和查询复杂度的提升,单一依赖MySQL进行高效的数据检索和分析变得日益困难。这时,Elasticsearch(简称ES)以其卓越的搜索性能、灵活的数据模式以及强大的可扩展性,成为处理复杂查询需求的理想选择。本文将深入探讨MySQL数据实时同步到Elasticsearch的技术实现与最佳实践。
88 0
|
11天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
124 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo

相关产品

  • 检索分析服务 Elasticsearch版