Elasticsearch学习笔记2
Elasticsearch is a search engine based on Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is released as open source under the terms of the Apache License. Official clients are available in Java, .NET (C#), PHP, Python, Apache Groovy, Ruby and many other languages.
Elasticsearch是一个基于Lucene的开源搜索服务,一个分布式多用户能力的全文搜索引擎,是当前流行的企业级搜索引擎,设计用于云计算中,能够达到准实时搜索。ELK是ElasticSearch,Logstash,Kibana的缩写,分别提供搜索,数据接入和可视化功能,构成了Elastic的应用栈。数据库搜索引擎有Elastic,Solr和Splunk等。
Elastic
准实时(NRT)
Elasticsearch是一个准实时性的搜索平台,从数据索引到数据可以被搜索存在一定的时延。
索引(Index)
索引是有共同特性的文档的集合,索引有自己的名字,可以对索引执行搜索,更新,删除等操作。
类型(Type)
每个索引可以包含一个或者多个类型,类型可以看作一个索引数据的逻辑分组,通常我们会把拥有相同字段的文档定义为同一个类型。
文档(Document)
文档是索引信息的基本单元。Elastic中文档表现为JSON对象,文档物理存贮在索引中,并需要被制定一个类型。因为表现为JSON, 很自然的,文档是由一个个的字段(Feilds)组成,每个字段是一个名值对(Name Value Pair)
评分(score)
Elastic是基于Lucene构建的,所以搜索的结果会有一个打分。来评价搜索结果和查询的相关性。
数据接入和获取
Elastic栈使用Logstash和Beats来进行数据的消化和获取。
Logstash用jruby实现,类似于一个数据管道,把输入的数据进行处理,变形,过滤,然后输出到其它地方。Logstash 设计了自己的 DSL,包括有区域,注释,数据类型(布尔值,字符串,数值,数组,哈希),条件判断,字段引用等。Logstash的数据管道包含三个步骤,Input,Filter和Output,每一步都可以通过plugin来扩展。另外Input和Output还支持配置Codecs,完成对输入输出数据的编解码工作。
Logstash支持的常见的Input包含File,syslog,beats等。Filter中主要完成数据的变形处理,可以增删改字段,加标签,等等。作为一个开源软件,Output不仅仅支持ElasticSearch,还可以和许多其它软件集成和目标,Output可以是文件,graphite,数据库,Nagios,S3,Hadoop等。
在实际运用中,logstash 进程会被分为两个不同的角色。运行在应用服务器上的,尽量减轻运行压力,只做读取和转发,这个角色叫做 shipper;运行在独立服务器上,完成数据解析处理,负责写入 Elasticsearch 的角色,叫 indexer。
logstash 作为无状态的软件,配合消息队列系统,可以很轻松的做到线性扩展。Beats是 Elastic 从 packetbeat 发展出来的数据收集器系统。beat 收集器可以直接写入 Elasticsearch,也可以传输给 Logstash。其中抽象出来的 libbeat,提供了统一的数据发送方法,输入配置解析,日志记录框架等功能。
Kibana数据展现和可视化
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
架构
Elastic Stack
ELK是一套栈,Logstash提供数据的消化和获取,Elasticsearch对数据进行存储,索引和搜索,而Kibana提供数据可视化和报表的功能。
Elasticsearch学习笔记2的更多相关文章
- Elasticsearch学习笔记一
Elasticsearch Elasticsearch(以下简称ES)是一款Java语言开发的基于Lucene的高效全文搜索引擎.它提供了一个分布式多用户能力的基于RESTful web接口的全文搜索 ...
- elasticsearch学习笔记——相关插件和使用场景
logstash-input-jdbc学习 ES(elasticsearch缩写)的一大优点就是开源,插件众多.所以扩展起来非常的方便,这也造成了它的生态系统越来越强大.这种开源分享的思想真是与天朝格 ...
- ElasticSearch学习笔记(超详细)
文章目录 初识ElasticSearch 什么是ElasticSearch ElasticSearch特点 ElasticSearch用途 ElasticSearch底层实现 ElasticSearc ...
- 【原】无脑操作:ElasticSearch学习笔记(01)
开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- Elasticsearch学习笔记
Why Elasticsearch? 由于需要提升项目的搜索质量,最近研究了一下Elasticsearch,一款非常优秀的分布式搜索程序.最开始的一些笔记放到github,这里只是归纳总结一下. 首先 ...
- Elasticsearch学习笔记 一
本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws. 本文参考和学习资料 <ES权威指南> 一.基本概念 存储数据到ES中的行为叫做 ...
- 2018/2/13 ElasticSearch学习笔记三 自动映射以及创建自动映射模版,ElasticSearch聚合查询
终于把这些命令全敲了一遍,话说ELK技术栈L和K我今天花了一下午全部搞定,学完后还都是花式玩那种...E却学了四天(当然主要是因为之前上班一直没时间学,还有安装服务时出现的各种error真是让我扎心了 ...
- 2018/2/11 ELK技术栈之ElasticSearch学习笔记二
终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实 ...
- elasticsearch学习笔记——安装,初步使用
前言 久仰elasticsearch大名,近年来,fackbook,baidu等大型网站的搜索功能均开始采用elasticsearch,足见其在处理大数据和高并发搜索中的卓越性能.不少其他网站也开始将 ...
随机推荐
- ETCD 简介 + 使用
etcd简介 etcd是一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现. etcd是一个服务发现系统,具备以下的特点: 简单: ...
- LeetCode DB : Delete Duplicate Emails
Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique ...
- tar.xz文件的解压
xz是绝大数linux默认就带的一个压缩工具. 压缩包xz格式的居然比7z还要小. 不过xz也有一个坏处就是压缩时间比较长,比7z压缩时间还长一些.不过压缩是一次性的,所以可以忽略. xz压缩文件方法 ...
- 用jQuery实现全选-全不选-反选的功能
临近过年,刚学IT没多久的小白在这里祝大家在新的一年里:新春快乐,月月赚钱,天天开心,时时快乐,分分精彩,秒秒幸福,事事顺利 古人云:学而时习之,不亦说乎. 学习后经常温习所学的知识,也是件令人愉悦的 ...
- ArcGIS 中取出面上最大的Z值的坐标点
def MaxZ(shape): line = shape.getPart(0) pnt = line.next() maxValue = float("-in ...
- SharePoint designer workflow给一个hyperlink类型得field赋值, How to set value to a hyperlink field by designer workflow
通过worlfow给一个链接类型得field赋值: 格式是: {link}, {linkDisplayname} 一定要注意逗号后面有个空格. 举个栗子: 如果一个链接显示为 Approve / Re ...
- CREATE INDEX (Transact-SQL) 语法 (转载)
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON <object> ( column [ ASC | D ...
- 如何配置Linux的服务设置为自动启动或崩溃重新启动后
介绍 在本教程中,自动启动 Linux 服务,我们将退后一步,更详细地解释 init 进程. 你应该很好地了解它们如何控制守护进程的启动行为. 在第一部分本系列教程我们分享使用 MySQL 的如何崩溃 ...
- linux访问Windows共享文件命令
mount -o username=username,password=password,ip=10.0.0.1 //10.0.0.1/backupscm /home/package/image_vm ...
- linux date 简单介绍
用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系统日期. - ...