注:本文件为自译文件。由于个人能力有限,只能作为个人学习文档共享。
elasticsearch简介
Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、多租户的全文搜索引擎,具有HTTP web界面和无架构的JSON文档。Elasticsearch是用Java开发的。遵循开放核心业务模式,一些软件根据各种开放源代码许可证(主要是Apache许可证)获得许可,而其他软件则是商业(源代码可用)灵活许可证。官方客户端包括Java,。Net(c)、PHP、python、Apache、groovy、ruby和许多其他语言。根据DB引擎的排名,elasticsearch是最受欢迎的企业搜索引擎,其次是基于Lucene的Apache Solr。
Elasticsearch入门
准备好尝试使用Elasticsearch并思考你将如何使用REST APIs来存储,检索和分析数据嘛?
按入门指导的步骤:
1、获取一个Elasticsearch的实例比运行起来。
2、索引一些简单的文档
3、使用Elasticsearch快速查询来检索文档。
4、使用桶(bucket)和指标聚合(metrics aggregations)来分析结果。
需要更多的下文?
点击elasticsearch inctruction(上不了连接)来学习lingo和明白elasticsearch如何工作的原理。如果你已经足够的熟悉Elasticsearch并且希望明白他是如何利用堆栈的另一部分工作的,你可能想要跳到 The ElasticSearch Tutorial来了解如何使用Elasticsearch, Kibana, Beats, and Logstash来建立一套系统的监控处理方案。
Elasticsearch安装
Tip:你可以通过使用我们的 hosted Elasticsearch Service来跳过安装ElasticSearch来使用它。(是个广告)
Note:ElasticSearch 包含了一个来自JDK维护的捆绑版本的Open JDk(GPLv2+CE)。使用你自己的Java版本请参照 JVM version requirements 其二进制文件(binaries)可以从这里获得www.elastic.co/downloads.相关的档案可用于Windows, Linux and macOS各个平台。此外DEB和RPM软件包适用于Linux平台。MSI适用于Windows平台。你也可以在macOS使用the Elastic Homebrew来点击安装 the brew package manager 。
Linux安装示例
为简单起见,让我们使用tar文件吧。
按照以下操作下载Elasticsearch 7.2.0 Linux的tar文件
之后解压 如下
tar -xvf elasticsearch-7.2.0-linux-x86_64.tar.gz
它会在你当前的目录下创建一些文件和文件夹。之后我们进入bin目录 如下
cd elasticsearch-7.2.0/bin
现在我们已经准备好了启动我们的节点和单一集群了。
./elasticsearch
使用MSI Windows 安装器安装。
对于windows用户,我们推荐使用MSI Installer package,这个安装包包含了一个图形化用户接口(GUI),可以通过安装程序引导你安装。首先下载 the Elasticsearch 7.2.0 MSI从xxx
艹双击、选文件夹、安装为一个服务或者在有需求的时候手动启动它、简单配置建议默认、选择可用插件、点击安装按钮、waiting
在默认情况下,ElasticSearch会被安装在%PROGRAMFILES%\Elastic\Elasticsearch。导航到此处使用如下命令进入bin文件夹
with Command Prompt: cd %PROGRAMFILES%\Elastic\Elasticsearch\bin
with PowerShell: cd $env:PROGRAMFILES\Elastic\Elasticsearch\bin
现在你可以使用.\elasticsearch.exe来启动我们的节点和单一集群了。
如果一切顺利安装,您应该看到一堆如下所示的消息
在不详细讨论的情况下,我们可以看到名为“6-bjhwl”的节点(???我没看见。在您的情况下将是一组不同的字符)已经启动并在单个集群中选择自己作为主节点。 现在不要担心主节点意味着什么。 这里最重要的是我们在一个集群中启动了一个节点。如前所述,我们可以覆盖集群或节点名称。 这可以在启动Elasticsearch时从命令行完成,如下所示:
./elasticsearch -Ecluster.name=my_cluster_name -Enode.name=my_node_name