Elasticsearch:是什么?你为什么需要他?
Elasticsearch 是什么?
Elasticsearch 是一个分布式的、开源的搜索分析引擎,支持各种数据类型,包括文本、数字、地理、结构化、非结构化。
Elasticsearch 是基于 Apache Lucene 的。
Elasticsearch 因其简单的 REST API、分布式特性、告诉、可扩展而闻名。
Elasticsearch 是 Elastic 产品栈的核心,Elastic 产品栈是个开源工具集合,用于数据接收、存储、分析、可视化。
一个搜索和分析引擎
Elasticsearch 可以让你存储所有类型的数据。
你可能认为搜索是关于文本的,的确,Elasticsearch 精通索引和查询文本。
但是,那不是全部,你还可以存储数字类型的数据、Geo 地理类型的数据。
Elasticsearch 不仅可以查询数据,还可以做汇总、聚合等等操作。
开源
Elasticsearch 是免费、开源的。
Elasticsearch 所属的 Elastic 公司,是一家商业盈利性质的公司,但你并不需要因为使用 Elasticsearch 而付费。
Elastic 公司使用的是增值服务模式,你付费的话可以得到更多的支持和产品特性。
一个完整的生态
Elasticsearch 是 Elastic 产品栈的核心。
其中的工具可以帮助你实现可视化(Kibana)、接入(Beats、Logstash)和管理存储在 Elasticsearch 中的数据。
除了官方工具,还有大量免费和商用的工具库可以使用。
弹性
搜索技术有弹性是什么意思?
一是 Elasticsearch 可以轻松进行节点扩展。
二是你可以非常轻松的使用 Elasticsearch,非常容易起步,而且,还通过多种方式帮助你成功的使用在产品环境中。
分布式
可扩展性是 Elasticsearch 的一个巨大优势。
在你起步的时候,可以使用一个节点,在壮大之后,Elasticsearch 可以轻松的扩展。
添加物理节点,然后在配置文件中列出即可。
在新节点加入之后,你的 indexes 会自动分布到新的节点。
可以用来做什么?
使用场景例如:
- 文档存错查询
可以很好地存储和查询文档,用于应用程序搜索、企业搜索和网站搜索。
- 日志存储和索引
使用 ELK,轻松存储和分析日志。
ELK 还通常用于监控基础信息、应用程序性能和使用情况。
地理数据存储和分析
商业智能平台
在各类场景中,可以抽象出2种数据类型:
- 静态数据
Elasticsearch 用作搜索引擎。
- 时间序列数据
时序数据发送到 Elasticsearch,用于产品分析、报告、异常检测 ……
Elasticsearch 的替代方案
Elasticsearch 的竞争对手只有一个,Apache Solr,有着和 Elasticsearch 相似的特性,但 Solr 的发展势头远不及 Elasticsearch。
可以看到,2014年左右 Elasticsearch 的受欢迎程度大大超过了 Solr。
小结
上面的内容可以让你对 Elasticsearch 有一个基本的认识,包括 Elasticsearch 是什么、可以用来做什么、市场地位。
翻译整理自:
https://medium.com/tech-explained/elasticsearch-explained-411e300413c7
Elasticsearch:是什么?你为什么需要他?的更多相关文章
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- Elasticsearch 5.0 中term 查询和match 查询的认识
Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...
- 以bank account 数据为例,认识elasticsearch query 和 filter
Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- ElasticSearch 5学习(9)——映射和分析(string类型废弃)
在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...
- .net Elasticsearch 学习入门笔记
一. es安装相关1.elasticsearch安装 运行http://localhost:9200/2.head插件3.bigdesk插件安装(安装细节百度:windows elasticsear ...
- 自己写的数据交换工具——从Oracle到Elasticsearch
先说说需求的背景,由于业务数据都在Oracle数据库中,想要对它进行数据的分析会非常非常慢,用传统的数据仓库-->数据集市这种方式,集市层表会非常大,查询的时候如果再做一些group的操作,一个 ...
- 如何在Elasticsearch中安装中文分词器(IK+pinyin)
如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...
- jar hell & elasticsearch ik 版本问题
想给es 安装一个ik 的插件, 我的es 是 2.4.0, 下载了一个版本是 1.9.5, [2016-10-09 16:56:26,248][INFO ][node ] [node-2] init ...
随机推荐
- vue 改变数据DOM不更新,获取不到DOM的解决方法
1.获取不到DOM的解决方案(使用$nextTick) 定义:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 理解:nextTick(),是将回调 ...
- 2018.11.9浪在ACM集训队第四次测试赛
2018.11.9浪在ACM集训队第四次测试赛 整理人:朱远迪 A 生活大爆炸版 石头剪刀布 参考博客:[1] 刘凯 B 联合权值 参考博客: [1]田玉康 ...
- springboot-aop日志打印
package com.cinc.ecmp.client; import com.cinc.ecmp.enums.BackResultEnum; import com.cinc.ecmp.except ...
- ansible核心模块playbook介绍
ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...
- CSS一行显示,显示不下的用省略号显示
CSS一行显示,显示不下的用省略号显示 .abc{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } 复制上面代码即可 ...
- Python10_代码规范和可读性
养成好的编程习惯和方法对提升代码可读性至关重要. 1.类.模块.包:不要用下划线,命名要简短 2.类:命名最好以大写开头 3.模块.包:用小写单词 4.变量.函数.方法:可以用下划线提高可读性,尽量都 ...
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明(转)
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- Kali之msf简单的漏洞利用
1.信息收集 靶机的IP地址为:192.168.173.136 利用nmap工具扫描其开放端口.系统等 整理一下目标系统的相关信息 系统版本:Windows server 2003 开放的端口及服务: ...
- 函数闭包模拟session
根据上一个认证功能的问题 要解决的就是只需要登录一次 也就是登录一次之后的用户名跟密码可以保存下来让其他函数用-->全局变量 user_dic = {"user_name": ...
- JMM中的Happens-Before原则
在java内存模型中,happens-before应该理解为:前一个操作的结果,可以被后续的操作获取,即内存可见性. 为了解决多线程的内存可见性问题,就提出了happens-before原则, ...