背景
公司一直在使用ES作为分布式的搜索引擎,由于数据量的不断升高,ES出现了性能瓶颈。公司决定进一步的优化ES配置,所以最近几天在研究ES,最近会更新一系列ES的教程,希望大家持续关注。不多说了,Action。
简介
ElasticSearch一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它是用Java开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
官网:https://www.elastic.co/
ElasticSearch的特性:
对于ES的特性,我是从官网翻译过来,如果有不妥的地方,希望大家提出宝贵的建议。
- 开源的(不解释)
- 它是分布式和高度可用的搜索引擎。
- 每个索引根据配置分片的数量完成完全分片。
- 每个碎片都可以有一个或多个副本。
- 读/搜索操作可以在任何复制分片上执行。
- 支持多租户与多种类型。
- 支持一个以上的索引。
- 支持一个以上的每个索引类型。
- 指数级配置(数量的碎片,索引存储,…)。
- 各种组api
- HTTP RESTful API
- 本地Java API。
- 所有api执行自动从路由节点操作。
- 面向文档的
- 可靠异步写操作长期持续。
- (附近)实时搜索。
- 基于Lucene
- 每个碎片都是一个功能齐全的Lucene索引
- 所有Lucene通过简单的配置/插件非常容易的暴露出来。
- 每个操作的一致性
- 单文档级别操作都是原子的、一致的、孤立的和持久的。
对于ES了解一个大概情况就可以了。下面我们下载和安装ES(我们以windows操作系统和Elasticsearch 2.3.1为例,其实在linux上安装没有区别):
下载
下载地址:https://www.elastic.co/downloads/elasticsearch
Elasticsearch的所有版本都有四种打包格式:ZIP、TAR、DEB、RPM,我们使用ZIP就可以了。
目录结构
bin:可以执行文件 config:配置文件 data:es存放数据的文件 lib:运行所需类库 logs:日志文件 modules:加载模块列表(其实是必要插件) plugins:插件文件(需要自定义安装)
注:刚解压的ES并没有这么多目录,只有bin、config、lib、modules,其他都是在第一次运行之后自动生成的。
安装步骤
- Download and unzip the latest Elasticsearch distribution 下载最新Elasticsearch版本,解压到指定目录。
- Run
bin/elasticsearch
on Unix orbinelasticsearch.bat
on Windows 在Unix上运行bin/elasticsearch
或者在Windows上运行binelasticsearch.bat
(命令行,进入 cd E:ESelasticsearch-2.3.1bin 目录或者直接双击elasticsearch.bat运行) - Run curl -X GET http://localhost:9200/
运行测试
在浏览器里测试一下:
如果你得到的status是200那它意味着所有的事情都ok啦…是不是很简单? 让我们看看JSON的每个字段代表的含义: Ok:当为true时,意味着请求成功。 Status:发出请求后的HTTP的错误代码。200表示一切正常。 Name:我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。 Version:这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。 Tagline:包含了Elasticsearch的第一个tagline: “You Know, for Search.”
好,我们这篇博客就到这里,下篇博客ElasticSearch教程(二)———ElasticSearch基本插件head,我们介绍一个ES的插件,并且使用这个插件学习对ES的基本操作,敬请期待。