背景

公司一直在使用ES作为分布式的搜索引擎,由于数据量的不断升高,ES出现了性能瓶颈。公司决定进一步的优化ES配置,所以最近几天在研究ES,最近会更新一系列ES的教程,希望大家持续关注。不多说了,Action。

简介

ElasticSearch一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它是用Java开发的,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

官网:https://www.elastic.co/

ElasticSearch的特性:

对于ES的特性,我是从官网翻译过来,如果有不妥的地方,希望大家提出宝贵的建议。

  1. 开源的(不解释)

  2. 它是分布式和高度可用的搜索引擎。 

    1. 每个索引根据配置分片的数量完成完全分片。

    2. 每个碎片都可以有一个或多个副本。

    3. 读/搜索操作可以在任何复制分片上执行。

  3. 支持多租户与多种类型。 

    1. 支持一个以上的索引。

    2. 支持一个以上的每个索引类型。

    3. 指数级配置(数量的碎片,索引存储,…)。

  4. 各种组api 

    1. HTTP RESTful API

    2. 本地Java API。

    3. 所有api执行自动从路由节点操作。

  5. 面向文档的

  6. 可靠异步写操作长期持续。

  7. (附近)实时搜索。

  8. 基于Lucene 

    1. 每个碎片都是一个功能齐全的Lucene索引

    2. 所有Lucene通过简单的配置/插件非常容易的暴露出来。

  9. 每个操作的一致性 

    1. 单文档级别操作都是原子的、一致的、孤立的和持久的。

对于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,其他都是在第一次运行之后自动生成的。

安装步骤

  1. Download and unzip the latest Elasticsearch distribution

    下载最新Elasticsearch版本,解压到指定目录。

  2. Run bin/elasticsearch on Unix or bin\elasticsearch.bat on Windows

    在Unix上运行bin/elasticsearch或者在Windows上运行bin\elasticsearch.bat(命令行,进入 cd E:\ES\elasticsearch-2.3.1\bin 目录或者直接双击elasticsearch.bat运行)

  3. 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的基本操作,敬请期待