关于Elasticsearch—简介 & 安装

这里借鉴了大神的文章 ,确实犀利,大家交流之~

是什么: 免费且开放的搜索:Elasticsearch、ELK 和 Kibana 的开发者 | Elastic

Elasticsearch是一个基于Lucene库的搜索引擎。提供分布式、支持多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档。Elasticsearch是用Java开发的,并在Apache许可证下作为开源软件发布。

Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。

Elasticsearch

官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。根据 DB-Engines 的排名显示,Elasticsearch 是最受欢迎的企业搜索引擎,其次是 Apache Solr,也是基于 Lucene。

Elasticsearch 是与名为 Logstash 的数据收集和日志解析引擎以及名为 Kibana 的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

Elasticsearch 可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。”Elasticsearch 是分布式的,这意味着索引可以被分成分片,每个分片可以有 0 个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。“相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。

Elasticsearch 使用 Lucene,并试图通过 JSON 和 Java API 提供其所有特性。它支持 facetting 和 percolating,如果新文档与注册查询匹配,这对于通知非常有用。

另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch 支持实时 GET 请求,适合作为 NoSQL 数据存储,但缺少分布式事务。

历史
Shay Banon 在 2004 年创造了 Elasticsearch 的前身,称为 Compass。在考虑 Compass 的第三个版本时,他意识到有必要重写 Compass 的大部分内容,以“创建一个可扩展的搜索解决方案”。因此,他创建了“一个从头构建的分布式解决方案”,并使用了一个公共接口,即 HTTP 上的 JSON,它也适用于 Java 以外的编程语言。Shay Banon 在 2010 年 2 月发布了 Elasticsearch 的第一个版本。

Elasticsearch BV 成立于 2012 年,主要围绕 Elasticsearch 及相关软件提供商业服务和产品。2014 年 6 月,在成立公司 18 个月后,该公司宣布通过 C 轮融资筹集 7000 万美元。这轮融资由新企业协会(NEA)牵头。其他投资者包括 Benchmark Capital 和 Index Ventures。这一轮融资总计 1.04 亿美元。

2015 年 3 月,Elasticsearch 公司更名为 Elastic。

在 2018 年 6 月,Elastic 提交了首次公开募股申请,估值在 15 亿到 30 亿美元之间。公司于 2018 年 10 月 5 日在纽约证券交易所挂牌上市。

托管服务
一些组织将 Elasticsearch 作为托管服务提供。这些托管服务提供托管、部署、备份和其他支持。大多数托管服务还包括对 Kibana 的支持。

The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为 ES, ES 是一个开源的高扩展的分布式全文搜索引擎,是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。

什么是全文搜索引擎:

Google,百度类的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索的时候输入关键字,它们会将该关键字即索引匹配到的所有网页返回;还有常见的项目中应用日志的搜索等等。对于这些非结构化的数据文本,关系型数据库搜索不是能很好的支持。一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。进行全文检索需要扫描整个表,如果数据量大的话即使对 SQL 的语法优化,也收效甚微。建立了索引,但是维护起来也很麻烦,对于 insert 和 update 操作都会重新构建索引。基于以上原因可以分析得出,在一些生产环境中,使用常规的搜索方式,性能是非常差的:

1.搜索的数据对象是大量的非结构化的文本数据。
2,文件记录量达到数十万或数百万个甚至更多。
3.支持大量基于交互式文本的查询。
4.需求非常灵活的全文搜索查询。
5.对高度相关的搜索结果的有特殊需求,但是没有可用的关系数据库可以满足。
6.对不同记录类型、非文本数据操作或安全事务处理的需求相对较少的情况。
为了解决结构化数据搜索和非结构化数据搜索性能问题,我们就需要专业,健壮,强大的全文搜索引擎。这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。
 

Elasticsearch的应用案例:

1. GitHub: 2013 年初,抛弃了 Solr,采取 Elasticsearch 来做 PB 级的搜索。“GitHub 使用Elasticsearch 搜索 20TB 的数据,包括 13 亿文件和 1300 亿行代码”。
2.维基百科:启动以 Elasticsearch 为基础的核心搜索架构
3.SoundCloud:“SoundCloud 使用 Elasticsearch 为 1.8 亿用户提供即时而精准的音乐搜索服务”。
4.百度:目前广泛使用 Elasticsearch 作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部 20 多个业务线(包括云分析、网盟、预测、文库、直达号、钱包、风控等),单集群最大 100 台机器,200 个 ES 节点,每天导入 30TB+ 数据。
5.新浪:使用 Elasticsearch 分析处理 32 亿条实时日志。
6.阿里:使用 Elasticsearch 构建日志采集和分析体系。
7.Stack Overflow:解决 Bug 问题的网站,全英文,编程人员交流的网站。
 

Elasticsearch的下载、安装、运行:

Elasticsearch 的官方地址:https://www.elastic.co/cn/

下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

Elasticsearch 分为 Linux 和 Windows 版本,未来在企业里肯定是要用linux版本的,并且还要搭建集群。那么这里我学习ES为了方便、快速掌握,就采用windows版本了。

下载完成之后,是一个压缩包,直接解压就可以了。

 

 

  • bin 可执行脚本目录
  • config 配置目录
  • jdk 内置 JDK 目录(ES是采用Java语言开发的)
  • lib 类库
  • logs 日志目录
  • modules 模块目录
  • plugins 插件目录

解压后,进入 bin 文件目录,点击 elasticsearch.bat 文件启动 ES 服务。

 

注意:9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器访问的 http 协议的 RESTful 端口。 

 运行:

 有时候运行会报错:

比如:elasticsearch在window下启动报错warning:ignoring JAVA_HOME=“XXXXX“; using bundled JDK

JDK版本不对。

elasticsearch支持JDK1.8的,仅仅是7.17.3及其之前的版本。如果下的最新版本,最低JDK得17及其以上。

win7建议下载7.6.1的版本,7.17.3需要win8和最低node.js 12.0.0版本

7.17.3版本下载地址

Elasticsearch 7.17.3 | Elastic

 运行后 检查 是否运行成功

 over~~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arenaschi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值