ELasticSearch——ElasticScarch 概述及安装 v7.8
Posted 万里顾—程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELasticSearch——ElasticScarch 概述及安装 v7.8相关的知识,希望对你有一定的参考价值。
ELasticSearch——ElasticScarch 概述及安装
1、Elastic Stack 简介
早期 Elastic Stack 名为 ELK,对应Elasticsearch,Logstash 和 Kibana这三个开源软件,但由于在做日志收集时Logstash过于重量级,因此官方又开发了各种Beat组件,比如FileBeat,PackBeat等等。随着这些角色的加入ELK更名位Elastic Stack。
Elastic Stack 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。
官网地址:https://www.elastic.co/cn/
官方文档:https://www.elastic.co/guide/index.html
2、ElasticSearch 概述
2.1、Lucene 简介
Lucene是Apache软件基金会 Jakarta项目组的一个子项目,提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。但 Lucene只是一个提供全文搜索功能类库的核心工具包,而真正使用它还需要一个完善的服务框架搭建起来进行应用。
人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。
Lucene是一个全文检索引擎的架构。那什么是全文搜索引擎?
全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、FastU/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度( Baidu )。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。
从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序( Indexer ),俗称"蜘蛛"”(Spider )程序或"机器人" ( Robot )程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。
2.2、ElasticSearch 概述
ElasticSearch 是什么
Elasticsearch(简称ES)是一个基于Apache Lucene的搜索服务器,是一个分布式、高扩展、高实时、Restful 风格的全文搜索和数据分析引擎。Elasticsearch是用Java语言开发的,这使Elasticsearch能够在不同的平台上运行,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。
ElasticSearch 官网:https://www.elastic.co/cn/elasticsearch/
ElasticSearch 特性
Elasticsearch的一般特性如下 :
- Elasticsearch可扩展高达PB级的结构化和非结构化数据。
- Elasticsearch可以用来替代MongoDB和RavenDB等做文档存储。
- Elasticsearch使用非标准化来提高搜索性能。
- Elasticsearch是受欢迎的企业搜索引擎之一,目前被许多大型组织使用,如Wikipedia,The Guardian,StackOverflow,GitHub等。
- Elasticsearch是开放源代码,可在Apache许可证版本2.0下提供。
参考链接:https://www.bootwiki/elasticsearch/elasticsearch-tutorial.html
2.3、ElasticSearch 和 Solr 的对比及选型
Solr 概述
Solr是Apache下的一个顶级开源项目,采用ava开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用POST方法向Solr服务器发送一个描述Field及其内容的XML文档,Solr根据xml文档添加、删除、更新索引。Solr搜索只需要发送HTTPGET请求,然后对Solr返回Xml.,json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
Solr是基于lucene开发企业级搜索服务器,实际上就是封装了lucene。
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果。
ElasticSearch 和 Solr 的对比
当单纯的对已有数据进行索引时,Solr更快
当实时建立索引时,Solr会产生io阻塞,查询性能较差,Elasticsearch具有明显的优势。
随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。
Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
Google搜索趋势结果表明,与Solr 相比,Elasticsearch具有很大的吸引力,但这并不意味着Apache Solr已经死亡。虽然有些人可能不这么认为,但Solr仍然是最受欢迎的搜索引擎之一,拥有强大的社区和开源支持。
与Solr相比,Elasticsearch易于安装且非常轻巧。此外,你可以在几分钟内安装并运行Elasticsearch。但是,如果Elasticsearch管理不当,这种易于部署和使用可能会成为一个问题。基于JSON的配置很简单,但如果要为文件中的每个配置指定注释,那么它不适合您。总的来说,如果你的应用使用的是JSON,那么Elasticsearch是一个更好的选择。否则,请使用Solr,因为它的schema.xml和solrconfig.xml都有很好的文档记录。
Solr 拥有更大,更成熟的用户,开发者和贡献者社区。ES 虽拥有的规模较小但活跃的用户社区以及不断增长的贡献者社区。
Solr贡献者和提交者来自许多不同的组织,而Elasticsearch提交者来自单个公司。Solr更成熟,但ES增长迅速,更稳定。
Solr是一个非常有据可查的产品,具有清晰的示例和API用例场景。Elasticsearch 的文档组织良好,但它缺乏好的示例和清晰的配置说明。
ElasticSearch 和 Solr 的技术选型
有时很难找到明确的答案。无论您选择Solr还是Elasticsearch,首先需要了解正确的用例和未来需求。总结他们的每个属性。
由于易于使用,Elasticsearch在新开发者中更受欢迎。一个下载和一个命令就可以启动一切。
如果除了搜索文本之外还需要它来处理分析查询,Elasticsearch是更好的选择。
如果需要分布式索引,则需要选择Elasticsearch。对于需要良好可伸缩性和以及性能分布式环境,Elasticsearch是更好的选择。
Elasticsearch在开源日志管理用例中占据主导地位,许多组织在Elasticsearch中索引它们的日志以使其可搜索。
如果你喜欢监控和指标,那么请使用Elasticsearch,因为相对于Solr,Elasticsearch暴露了更多的关键指标。
3、ElasticSearch 下载安装(Windows)
1、进入官网ElasticSearch 官网:https://www.elastic.co/cn/elasticsearch/
下载最新版本:进入官网后,选择操作系统,点击下载
下载历史版本:点击右侧的 View past releases,然后再选择自己想要的版本。
2、下载后解压安装包
解压后的文件目录如下图:
目录说明:
- bin:可执行文件的存放目录
- config:配置文件的存放目录
- log4j2.properties:日志配置文件
- jvm.options:java 虚拟机配置文件
- elasticsearch.yml:ES配置文件
- jdk:存放适合当前Elasticsearch版本的jdk
- lib:引用的相关库的存放目录,elasticsearch.jar本身也放于该目录。
- logs:默认的日志存放目录。
- modules:功能模块的存放目录
- plugins:插件存放目录
3、启动 ElasticSearch
打开bin目录,双击elasticsearch.bat:
两个端口:
9300端口为Elasticsearch集群间组件的通信端口,9200端口为浏览器访问的http.协议RESTful端口。
访问请求:http://localhost:9200/,如果出现如下信息,说明ES启动成功!
上面显示了 ElasticSearch 的配置信息。
4、启动失败可能的原因
以上是关于ELasticSearch——ElasticScarch 概述及安装 v7.8的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置