目录

简介

ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例。像Solr4一样,是基于Lucene构建的。支持时间时间索引和全文检索。官网:http://www.elasticsearch.org

它对外提供一系列基于 JAVA 和 HTTP 的 API,用于索引、检索、修改大多数配置。

写这篇博客的的主要原因是ElasticSearch的网站只有一些简单的介绍,质量不高,缺少完整的教程。我费了好大劲才把它启动起来,做了一些比hello world更复杂一些的工作。我希望通过分享我的一些经验来帮助对ElasticSearch(很强大的哦)感兴趣的人在初次使用它的时候能够节省些时间。学完这篇教程,你就掌握了它的基本操作——启动、运行。我将从我的电脑上分享这个链接。

现在开始体验

  1. 假设你已经安装了 Java;
  2. 下载ElasticSearch,解压elasticSearch。

测试一下已经完成的工作

  1. 运行bin/elasticsearch

  2. 上面在本机启动了一个ElasticSearch节点。 读者会看到下面的记录提示。
    QQ图片20141115105945.jpg

  3. 现在在浏览器里测试一下
    QQ图片20141115110109.jpg

如果你得到的status是200那它意味着所有的事情都ok啦...是不是很简单?

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

Ok:当为true时,意味着请求成功。

Status:发出请求后的HTTP的错误代码。200表示一切正常。

Name:我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。

Version:这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。

Tagline:包含了Elasticsearch的第一个tagline: "You Know, for Search."
  1. 现在让我们从http://mobz.github.io/elasticsearch-head/ 安装ElasticSearch Head插件

    安装方法非常简单

elasticsearch/bin/plugin -install mobz/elasticsearch-head

上面的命令会把 elasticsearch-head插件装到你的环境里,也可以直接下载head放入plugins目录

教程样例

我们将要部署一个非常简单的应用

1)使用curl给elasticSearch put数据

curl -XPUT 'http://localhost:9200/dept/employee/32' -d '{ "empname": "emp32"}'

dept是一个索引并且索引类型是雇员,此时我们正在输入这个索引类型的第31个id。

你应该能在后台看到这样的信息:
QQ图片20141115110742.jpg

和上面的命令一样--让我们输入更多的记录:

curl -XPUT 'http://localhost:9200/dept/employee/1' -d '{ "empname": "emp1"}'
curl -XPUT 'http://localhost:9200/dept/employee/2' -d '{ "empname": "emp2"}'
...
...
curl -XPUT 'http://localhost:9200/dept/employee/30' -d '{ "empname": "emp30"}'

注意:你要记得增加索引计数器和大括号里empname的值。

一旦这些工作都完成了--你为ElasticSearch输入了足够多的数据,你就可以开始使用head插件搜索你的数据了。

让我们试试吧!

在浏览器中输入:
http://localhost:9200/_plugin/head/

你会看到这个:

QQ图片20141115111137.jpg

这里是有关簇使用情况和不同索引信息的概况。我们最近创建的索引在其中,显示为"dept"。

现在点击Structured Query选项卡

QQ图片20141115111228.png

在Search下来菜单中选择"dept"并点击"Search"按钮。

这将显示所有记录。

你可以尝试在我的桌面电脑上运行的该应用:
http://98.228.230.117:9200/_plugin/head/


参考原文:开源中国Getting Started with ElasticSearch