Elasticsearch之入门知识
elasticsearch是一个高度可扩展得开源全文搜索和分析的引擎。可以快速、近实时的存储,搜索和分析大量数据。通常用作底层引擎技术,为具有复杂搜索功能和要求的程序提供支持。
用处:
• 运行网上商店,允许客户搜索产品。可以使用elasticsearch存储整个产品目录和库存,并为它们提供搜索和自动填充建议。
• 收集日志或交易数据,并且可以分析和挖掘此数据以查找趋势,统计信息,摘要或异常。可以使用logstash将收集到的数据提供给elasticsearch,然后elasticsearch可以运行搜索和聚合来挖掘需要的信息。
• 运行价格警报平台,允许精通价格的客户指定的一条规则,例如我想要购买的商品在下个月从任何供应商降价n元,我希望收到通知。这样可以刮取供应商价格,将其推入elasticsearch并使用其反响搜索功能来匹配价格变动与客户查询,并最终在发现匹配后将警报推送给客户。
• 快速调查,分析,可视化并询问有关大量数据的特定问题,数百万或数十亿条记录。可以使用elasticsearch存储数据,然后使用kibana构建自定义仪表板。
基本概念:
近实时(NRT)
elasticsearch是一个近实时的搜索平台,从索引文档到可搜索文档的时间有一点延迟,大概是一秒。
集群
集群是一个或多个节点的集合,它们共同保存整个数据,并提供跨所有节点的联合索引和搜索功能。集群由唯一名称标识,默认情况下为“elasticsearch”。这个名称很重要,因为如果节点设置为按名称加入集群,则该节点只能是集群的一部分。
注意不要在不同的环境中重用相同的集群名称,否则最终会导致节点加入到错误的集群里。例如,可以使用logging-dev,logging-test,logging-prod。
如果集群里只有一个节点,那么它是完全正常的。拥有多个独立的集群的话,每个集群都有自己唯一的名称。
节点
节点是作为集群里的单个服务器,存储数据并参与集群的索引和搜索功能。节点由名称标识,默认情况下,该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。也可以自己定义所需的任何节点名称。此名称对于管理目的非常重要,可以在其中识别网络中哪些服务器与elasticsearch集群中的哪些节点相对应。
可以将节点配置为按集群名称加入特定集群。默认情况下,每个节点都设置为加入一个名为cluster的进去elasticsearch,这意味着如果在网络上启动许多节点并且假设它们可以互相发现,它们将自动形成并加入一个名为elasticsearch的集群。在单个集群中,可以拥有任意数量的节点。
索引
索引是具有相似的文档集合,例如可以为客户数据提供索引,为产品目录建立另一个索引,以及为订单数据建立另一个索引。索引由名称标识,必须全部为小写,该名称用于在对其中的文档执行索引、搜索、更新和删除操作时引用索引,在单个集群里,可以定义尽可能多的索引。
类型
在索引中,可以定义一个或多个类型,类型时索引的逻辑类别。类型定义为具有公共字段集的文档。假设运行一个博客平台,并将所有数据存储在一个索引中。在这个索引中,可以为用户数据定义一种类型,为博客数据定义另一种类型,以及为注释数据定义另一类型。
文档
文档时可以被索引的信息的基本单位。例如为单个客户提供一个文档,单个产品提供另一个文档,以及单个订单提供另一个文档。表现形式为json。
分片和副本
索引可以存储大量的数据,这些数据可能超过单个节点的硬件限制。例如十亿个文件占用磁盘空间1TB的单指标可能不适合对单个节点的磁盘或可能太慢服务仅从单个节点的搜索请求。
为了解决这个问题,elasticsearch提供细分指标,分成多个块称为分片的能力。当你创建一个索引,你可以简单的定义你想要的分片数量。每个分片本身是一个全功能的、独立的指数,可以托管在集群中的任何节点。
分片特征:
• 分片允许水平拆分或缩放内容的大小
• 分片允许分配和并行操作的碎片(可能在多个节点上)从而提高性能或吞吐量
这个机制中的碎片是分布式的以及其文件汇总到搜索请求时完全由elasticsearch管理,对用户来说是透明的。
在同一个集群网络上,故障时任何时候都可能出现的,拥有一个故障转移机制以防分片和节点因为某些原因离线或消失是非常有用的,并且被强烈推荐。elasticsearch允许创建一个或多个拷贝,索引分片进入所谓的副本或称作复制品的分片,简称副本。
副本特征:
• 副本为分片或节点失败提供了高可用性。需要注意的是,一个副本的分片不会分配在同一个节点作为原始的或主分片,副本是从主分片那里赋值过来的
• 副本允许用户扩展你的搜索量或吞吐量,因为搜索可以在所有副本上执行
Elasticsearch之入门知识的更多相关文章
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- 移动H5开发入门知识,CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- H5移动端开发入门知识以及CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
- Java基础入门知识
Java编程入门知识 知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...
- zabbix入门知识
zabbix入门知识 zabbix中文手册 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介绍 Zabbix 是一个企业级的分布式开 ...
- React的入门知识与概念【1】
回顾在以往的项目开发中,从最初的使用的原生html+js+css+jquery开发,到后来随着项目功能的增加,也渐渐学习了Vue.js框架的开发,以及Vue.js的全家桶Axios,Vue-route ...
- 我的Python笔记补充:入门知识拾遗
声明:本文整理借鉴金角大王的Python之路,Day1 - Python基础1,仅供本人学习使用!!! 入门知识拾遗 一.bytes类型 二.三元运算 1 result = 值1 if 条件 else ...
- 浅谈TCP IP协议栈(一)入门知识【转】
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...
随机推荐
- UVA10870 Recurrences —— 矩阵快速幂
题目链接:https://vjudge.net/problem/UVA-10870 题意: 典型的矩阵快速幂的运用.比一般的斐波那契数推导式多了几项而已. 代码如下: #include <bit ...
- Gym - 100283F F. Bakkar In The Army —— 二分
题目链接:http://codeforces.com/gym/100283/problem/F F. Bakkar In The Army time limit per test 2 seconds ...
- Python: PS 图像特效 — 模糊玻璃
今天介绍一种基于高斯滤波和邻域随机采样,生成一种毛玻璃的图像特效,简单来说,就是先对图像做高斯滤波模糊,然后对模糊后的图像,通过对邻域的随机采样来赋予当前的像素点,这样,生成的图像有有一定的随机扰动和 ...
- Spring cloud基础模块学习
1.微服务架构构成 单体架构(通过应用集群和数据库集群来提高性能,多余模块存在浪费) 垂直架构(新的功能模块通过新项目来实现,数据库之间存在交叉关联.存在数据冗余,和单体架构一样通过扩展集群结点,成本 ...
- BZOJ_4066_简单题_KDtree
BZOJ_4066_简单题_KDtree Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1&l ...
- [SHOI 2017] 寿司餐厅
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4873 [算法] 注意到题目中的限制条件可表述为 : 若选择区间[L , R] , 则 ...
- CS231n 2016 通关 第四章-NN 作业
cell 1 显示设置初始化 # A bit of setup import numpy as np import matplotlib.pyplot as plt from cs231n.class ...
- atof,atoi,atol,strtod,strtol,strtoul
字符串处理函数 atof 将字串转换成浮点型数 atoi 字符串转换成整型数 atol 函数名: atol 功 能: 把字符串转换成长整型数 用 法: long atol(const char *np ...
- Flutter实战视频-移动电商-40.路由_Fluro的全局注入和使用方法
40.路由_Fluro的全局注入和使用方法 路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中 main.dart注册路由 注入 onGenerateRoute是Materi ...
- PostgreSQL 务实应用(三/5)分表复制
问题的提出 在项目中,有些表的记录增长非常快,记录数过大时会使得查询变得困难,导致整个数据库处理性能下降.此时,我们会考虑按一定的规则进行分表存储. 常用的分表方式是按时间周期,如每月一张,每天一张等 ...