IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ElasticSearch快速入门-Day01 -> 正文阅读

[大数据]ElasticSearch快速入门-Day01


前言

本次介绍的是ElasticSearch(简称ES),使用版本为7.6.1,推荐使用JDK9以上版本


一、ES是什么?

用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到近实时搜索,稳定,可靠,快速,安装使用方便。 客户端支持Java、.NET(C#)、PHP、Python、Ruby等多种语言
官方网站: https://www.elastic.co/
下载地址:https://www.elastic.co/cn/start

二、应用场景?

主要用于日志搜集分析、用于APP综合搜索、订单系统搜索、企业级网站搜 索等方面
如果你还在使用Mysql进行海量数据检索,动不动遇到性能瓶颈以及极差的搜索体验时,那么 你该考虑使用Elasticsearch了

三、ES与Lucene的关系

Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库(框 架)但是想要使用Lucene,必须使用Java来作为开发语言并将其直接集成到你的应用 中,并且Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解 它是如何工作的。

Lucene缺点:
1)只能在Java项目中使用,并且要以jar包的方式直接集成项目中.
2)使用非常复杂-创建索引和搜索索引代码繁杂
3)不支持集群环境-索引数据不同步(不支持大型项目)
4)索引数据如果太多就不行,索引库和应用所在同一个服务器,共同占用硬 盘.共用空间少

1.全文检索框架

通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该 单词在文本中的位置、以及出现的次数
用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本 位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具 体内容读取出来了

2.倒排索引

索引就类似于目录,平时我们使用的都是索引,都是通过主键定位到某条数据, 那么倒排索引呢,刚好相反,数据对应到主键.
在这里插入图片描述

四、ES与Solr比较

当单纯的对已有数据进行搜索时,Solr更快
当实时建立索引时, Solr会产生io阻塞,查询性能较差, Elasticsearch具有明显 的优势
总结: 二者安装都很简单。
1、Solr 利用 Zookeeper 进行分布式管理,而Elasticsearch 自身带有分布式协 调管理功能。
2、Solr 支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持 json文件格式。
3、Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用 时效率明显低于 Elasticsearch。
4、Solr 是传统搜索应用的有力解决方案,但 Elasticsearch更适用于新兴的实 时搜索应用

五、ES核心概念

1.索引 index

一个索引就是一个拥有几分相似特征的文档的集合。比如说,可以有一个客户数 据的索引,另一个产品目录的索引,还有一个订单数据的索引 一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于 这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字

2.映射 mapping

ElasticSearch中的映射(Mapping)用来定义一个文档 mapping是处理数据的方式和规则方面做一些限制,如某 个字段的数据类型、默认值、分词器、是否被索引等等, 这些都是映射里面可以设置的

3.字段 field

相当于是数据表的字段|列

4.字段类型 type

每一个字段都应该有一个对应的类型,例如:Text、Keyword、Byte等

5.文档 document

一个文档是一个可被索引的基础信息单元,类似一条记录。文档以JSON(Javascript Object Notation)格式来表示;

6.集群 cluster

一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起 提供索引和搜索功能

7.节点 node

一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的 索引和搜索功能 一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每 个节点都会被安排加入到一个叫做“elasticsearch”的集群中 这意味着,如果在网络中启动了若干个节点,并假定它们能够相互发现彼此,它 们将会自动地形成并加入到一个叫做“elasticsearch”的集群中 在一个集群里,可以拥有任意多个节点。而且,如果当前网络中没有运行任何 Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫 做“elasticsearch”的集群。

8.分片和副本 shards&replicas

分片一个索引可以存储超出单个结点硬件限制的大量数据。比如,一个具有 10亿文档的索引占据1TB的磁盘空间,而任一节点都没有这样大的磁盘空 间;或者单个节点处理搜索请求,响应太慢 为了解决这个问题,Elasticsearch提供了将索引划分成多份的能力, 这些份就叫做分片 当创建一个索引的时候,可以指定你想要的分片的数量 每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可 以被放置到集群中的任何节点上 分片很重要,主要有两方面的原因 允许水平分割/扩展你的内容容量 允许在分片之上进行分布式的、并行的操作,进而提高性能/吞吐量 至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由 Elasticsearch管理的,对于作为用户来说,这些都是透明的
副本在一个网络/云的环境里,失败随时都可能发生,在某个分片/节点不知 怎么的就处于离线状态,或者由于任何原因消失了,这种情况下,有一个故 障转移机制是非常有用并且是强烈推荐的。为此目的,Elasticsearch允许 你创建分片的一份或多份拷贝,这些拷贝叫做副本分片,或者直接叫副本 副本之所以重要,有两个主要原因 1) 在分片/节点失败的情况下,提供了高可用性。 注意到复制分片从不与原/主要(original/primary)分片 置于同一节点上是非常重要的 2) 扩展搜索量/吞吐量,因为搜索可以在所有的副本上并行运行 每个索引可以被分成多个分片。一个索引有0个或者多个副本 一旦设置了副本,每个索引就有了主分片和副本分片,分片 和副本的数量可以在索引 创建的时候指定 在索引创建之后,可以在任何时候动态地改变副本的数量,但 是不能改变分片的数量

改明写ElasticSearch集群

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 10:59:11  更:2021-07-14 11:00:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 9:26:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码