Elasticsearch学习上手(一)

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。一开始公司里一位同事是直接采用Luncene进行开发的,总体开发下来,代码量大,比较复杂,我就想要寻求一种更好的开发,更好维护的框架,而后发现了elasticsearch。
Elasticsearch的目的是经过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。java

不过,Elasticsearch不单单是Lucene和全文搜索,咱们还能这样去描述它:
分布式的实时文件存储,每一个字段都被索引并可被搜索
分布式的实时分析搜索引擎
能够扩展到上百台服务器,处理PB级结构化或非结构化数据node

并且,全部的这些功能被集成到一个服务里面,你的应用能够经过简单的RESTful API、各类语言的客户端甚至命令行与之交互。
上手Elasticsearch很是容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装便可使用),只需不多的学习既可在生产环境中使用。git

Elasticsearch对系统的要求就是安装对应版本的java,elasticsearch2.x要求java1.7+,最新版5.x要求java1.8+
elasticsearch.org/download选择版本下载,解压便可。github

[root@cc ~]# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-2.4.0.tar.gz
[root@cc ~]# tar -xvf elasticsearch.tar.gz

解压以后,能够直接经过命令进行启动apache

./bin/elasticsearch

ps:elasticsearch5.x这边可能会碰到启动不成功的问题,由于5.x开始会有一个jvm的配置文件jvm.options,这边默认jvm内存为4Gnpm

以后能够经过浏览器或者在另外一个窗口进行测试 :http://localhost:9200/?pretty
若有相似如下返回则说明成功了:api

{
    "cluster_name": "elasticsearch",
    "name": "node-1",
    "tagline": "You Know, for Search",
    "version": {
        "build_hash": "ce9f0c7394dee074091dd1bc4e9469251181fc55",
        "build_snapshot": false,
        "build_timestamp": "2016-08-29T09:14:17Z",
        "lucene_version": "5.5.2",
        "number": "2.4.0"
    }
}

单纯经过api很不直观,幸亏elasticsearch提供了插件的安装,我这边安装elasticsearch-head插件
对于2.x版本能够直接经过如下命令进行安装浏览器

./bin/plugin install mobz/elasticsearch-head

而后访问 http://localhost:9200/_plugin...就能够看到相似一下界面bash

Paste_Image.png
就能够在此界面上进行数据的管理了服务器

对于5.x版本以后,elasticsearch-head则能够须要以一个独立的node项目运行

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
grunt server

而后访问http:// localhost:9100 /就能够了
在这个版本下,须要在elasticsearch.yml中进行配置才能让head进行链接
我这边的配置是这样的:

http.cors.enabled: true
http.cors.allow-origin: /https?:\/\/localhost(:[0-9]+)?/
相关文章
相关标签/搜索