ElasticSearch教程(一)——简介与安装
2016-04-26 10:53
357 查看
背景
公司一直在使用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/elasticsearchElasticsearch的所有版本都有四种打包格式: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/elasticsearchon Unix or
bin\elasticsearch.baton Windows
在Unix上运行
bin/elasticsearch或者在Windows上运行
bin\elasticsearch.bat(命令行,进入 cd E:\ES\elasticsearch-2.3.1\bin 目录或者直接双击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的基本操作,敬请期待。
相关文章推荐
- Linux单进程打开文件句柄数上限
- poj3155
- maven
- 软件工程(二)可行性分析
- 程序脱离IDE环境运行报错
- 14. Longest Common Prefix
- JAVA在定义一个方法的时候,不用public和用public有什么区别?
- iOS性能优化
- css文件中的样式类被覆盖,js文件中的变量未定义问题问题
- Qt 播放音频文件
- 如何在Github上上传自己的项目
- Suse Linux常用命令
- Android如何查看应用签名信息
- iOS学习笔记73-iOS事件响应链中Hit-Test View的应用
- java之数组排序
- shader forge初级篇|线性差值 lerp
- 要你命三千:老代码中的那些坑
- jQuery siblings()用法实例详解
- 二叉树非递归遍历--前序中序(常用)后序遍历
- Java Serializable