背景

公司最近做数据分析,准备使用ES分布式的搜索引擎用于数据分析计算;下面开始入门。

简介

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

官网:https://www.elastic.co/ 或 https://www.elastic.co/webinars/getting-started-elasticsearch

ElasticSearch的特性:

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

  • 1、 开源的(不解释)
  • 2、 它是分布式和高度可用的搜索引擎。
    • 每个索引根据配置分片的数量完成完全分片。
    • 每个碎片都可以有一个或多个副本。
    • 读/搜索操作可以在任何复制分片上执行。
  • 3、 支持多租户与多种类型。
    • 支持一个以上的索引。
    • 支持一个以上的每个索引类型。
    • 指数级配置(数量的碎片,索引存储,…)。
  • 4、 各种组api
    • HTTP RESTful API
    • 本地Java API。
    • 所有api执行自动从路由节点操作。
  • 5、 面向文档的
  • 6、 可靠异步写操作长期持续。
  • 7、 (附近)实时搜索。
  • 8、 基于Lucene
    • 每个碎片都是一个功能齐全的Lucene索引
    • 所有Lucene通过简单的配置/插件非常容易的暴露出来。
  • 9、 每个操作的一致性
    • 单文档级别操作都是原子的、一致的、孤立的和持久的。

对于ES了解一个大概情况就可以了。下面我们下载和安装ES(我们以windows操作系统和Elasticsearch 5.0为例,其实在linux上安装没有区别):

下载

下载地址:https://www.elastic.co/cn/downloads
Elasticsearch 5.6.3概述_第1张图片

Elasticsearch的所有版本都有四种打包格式:ZIP、TAR、DEB、RPM,我们使用ZIP就可以了。

目录结构

Elasticsearch 5.6.3概述_第2张图片

  • bin:可以执行文件,Elasticsearch命令
  • config:配置文件
  • data:es存放数据的文件
  • lib:运行所需类库
  • logs:日志文件
  • modules:加载模块列表(其实是必要插件)
  • plugins:插件文件(需要自定义安装)

注:刚解压的ES并没有这么多目录,只有bin、config、lib、modules,其他都是在第一次运行之后自动生成的。

windows安装步骤

注意ES依赖指定版本的JDK环境;

所以前提配置java的jdk,ES-5.6.3需要JDK1.8环境;

启动ES:

直接点击:elasticsearch.bat进行启动:稍等一两分钟
Elasticsearch 5.6.3概述_第3张图片
启动成功

运行测试

在浏览器里测试一下:访问:http://127.0.0.1:9200/

Elasticsearch 5.6.3概述_第4张图片

让我们看看JSON的每个字段代表的含义:

  • Ok:当为true时,意味着请求成功。
  • Status:发出请求后的HTTP的错误代码。200表示一切正常。
  • Name:我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
  • Version:这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。
  • Tagline:包含了Elasticsearch的第一个tagline: “You Know, for Search.”