一、ES+Hbase解决的问题

  • 实现【海量数据的存储】+【快速复杂查询的】解决方案
  • 整合的基本原理
    在这里插入图片描述

二、ES核心原理

Elasticsearch是一个实时的分布式【搜索和分析引擎】
♦ 它是对Lucene进行了封装,能够达到实时搜索,提供稳定 ,可靠,快速,等特点

在这里插入图片描述

  • 核心概念

2.1、Cluster(集群)

	代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举
产生的,主从节点是对于集群内部来说的。 ES的一个概念就是去中心化,字面上理解就是无中
心节点,这 是对于集群外部来说的,因为从外部来看ES集群,在逻辑上是个 整体,你与任
何一个节点的通信和与整个ES集群通信是等价的。

	主节点的职责是负责管理集群状态,包括管理分片的状态和副本的状态,以及节点的发现
和删除。

	注意:
	主节点不负责对数据的增删改查请求进行处理,只负责维 护集群的相关状态信息;

2.2、shards(分片)

	代表索引分片,ES可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的
索引水平拆分成多个,分布到不同的 节点上。构成分布式搜索,提高性能和吞吐量。分片的
数量只能在创建索引库时指定,索引库创建后不能更改。
	默认是一个索引库有5个分片)每个分片中最多存储 lnteger.MAXVALUE-128 条数据。

2.3、Replicas(副本)

	代表索引分片的副本,副本的作用:一是提高系统的容错性,当 某个节点某个分片损坏
或丢失时可以从副本中恢复。二是提高ES 的查询效率,ES会自动对搜索请求进行负载均衡。
副本的数量可以随时修改。
	注意:主分片和副本不会存在一个节点中

2.4、Recovery(恢复)

	代表数据恢复或叫数据重新分布,ES在有节点加入或退出时会根据 机器的负载对索引分
片进行重新分配,挂掉的节点重新启动时也会 进行数据恢复

三、ElasticSeach的使用

	可以通过RestAP操作或者SDK(JavaAPI)操作
	使用 RestAPI 操作日 asticsearch
	使用 JavaAPI 操作 Elasticseajch

四、ElasticSeach的分词

4.1、分词器作用

	Analyzer (分词器)的作用是把一段文本中的词按一定规则进 行切分。对应的是
Analyzer类,这是一个抽象类,切分词的具 体规则是由子类实现的,所以对于不同的语
言,要用不同的分 词器。(也就是说不同的分词器分词的规则是不同的!)
	在创建索引时会用到分词器,在搜索时也会用到分词器,这 两个地方要使用同一个
分词器,否则可能会搜索不出结果。

在这里插入图片描述

4.2、分词工作流程

	1、切分关键词
	2、去除停用词(的、了、是、a、an. the)
	3、对于英文单词,把所有字母转为小写(搜索时不区分大小写)

几个重要的分得器
	1 分词器分词方式
		StandardAnalyzer 单字分词
		ChineseAnalyzer  单字分词
		CJKAnalyze       二分法分词 
		IKAnalyzer       词库分词

  • 中文分词器工作原理
	单字分词:”我们是中国人“效果:”我““们“”是““中一国…人”
	二分法分词:按两个字进行切分。效果:“我们二”们是“ 、“是中二”中国“、“国人”。
	词库分词:按某种算法构造词,然后去匹配已建好的词库集合,如果匹配到就切分出
来成为词语。通常词库分词被认为是最理想的中文分词算法。

在这里插入图片描述

五、Hbase基本介绍

	HBase - Hadoop Database:是一个高可靠、高性能、 面向列、可伸缩的NoSQL数据
库(Key-Value类型)
	HBase基于H DFS作为其文件存储系统
	HBase支持对海量数据的增删改查

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐