![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES+HBase
文章平均质量分 82
做一个有趣的人Zz
天下唯庸人无咎无誉
展开
-
ES+HBase【案例】仿百度搜索05:项目中遇到的典型问题
一、单索引库查询效率降低的问题爬虫程序每天都会到互联网上采集新的文章数据,如果项目运行了半年、1年,所有的数据都存储到ES的一个索引库里面,这样会导致查询效率降低。可以考虑按周或者按月创建索引库,通过索引库别名关联最近半年内的索引库,实现默认查询最近半年内的数据。索引库的命名可以按照一定的规律,假设是按月建立索引库,则索引库的名称大致是这样的:article_202201article_202202article_202203…如果确实需要查询历史以来所有的数据,在查询的时候可以通过索引库通原创 2022-03-17 00:38:21 · 577 阅读 · 0 评论 -
ES+HBase【案例】仿百度搜索04:开发仿百度搜索项目
一、介绍这个搜索引擎项目主要涉及到数据采集、数据存储、建立索引和数据展现环节。针对一个搜索引擎项目而言,它的数据基本上都是来源于互联网上的公开数据,想要获取这些数据就需要使用爬虫工具了,目前市面上有一些爬虫产品,但是在使用的时候基本上都需要二次开发,所以企业里面都会有专门的爬虫工程师负责这个工作。我们在开发这个搜索引擎项目的时候就不再针对爬虫数据采集模块进行扩展了,到时候我会提供一个数据接口,大家通过接口可以直接获取到一些互联网上的公开数据。1、数据格式数据大致格式是这样的:我们在开发这个搜索原创 2022-03-17 00:38:10 · 4303 阅读 · 1 评论 -
ES+HBase【案例】仿百度搜索03:ES高级特性扩展
在具体开发项目之前,先来了解一下ES中的几个特性:一、ES中的_source字段在ES中包含一个特殊的字段:_source当我们在ES中对数据建立索引的时候,在ES底层其实会存储两份数据,一份是原始文档的内容,还有一份是对原始文档分词产生的倒排索引内容。其中原始文档内容会存储到_source这个字段里面,咱们前面在学习JavaAPI操作ES的时候,通过search查询的结果数据,最终在解析的时候其实就是从_source字段中解析的。_source字段中默认会包含原始文档中所有字段的内容。二、E原创 2022-03-17 00:37:46 · 865 阅读 · 0 评论 -
ES+HBase【案例】仿百度搜索02:项目架构设计
一、项目概览二、项目整体架构流程1:项目的数据来源可以是通过爬虫到互联网上采集的数据,也可以是企业数据库中的内部数据2:根据数据的来源不同,使用不同的程序将数据入库到HBase,实现海量数据存储3:针对HBase中的数据在ES中建立索引。注意:并不是把HBase中数据的完整内容全部在ES中建立索引,只需要将检索用到的那些字段在ES中建立索引即可。例如:HBase存储的原始数据有20个字段,在ES可能只需要存储5个字段即可,具体的存储细节在后面会详细分析。4:在数据展现模块中提供仿百度搜索功能原创 2022-03-17 00:37:33 · 1581 阅读 · 1 评论 -
ES+HBase【案例】仿百度搜索01:企业中快速复杂查询痛点分析
一、大数据领域海量数据存储现状首先来分析一下目前大数据领域中的一些数据存储系统:HDFS、HBase、KuduHDFS:是一个分布式文件系统,适合文本类型数据存储,不支持修改删除,适合一次写入,多次读取的场景。借助于Hive可以实现基于SQL的海量数据分析。HDFS在实际工作中是最常见的。HBase:是一个NoSQL类型的数据库,支持海量数据的增删改查,基于Rowkey查询效率高,针对普通字段查询效率非常低。HBase不支持传统的SQL语法,不适合做数据分析。在企业中的应用场景有限,仅适用于有修改删原创 2022-03-17 00:37:21 · 902 阅读 · 0 评论