内容简介:ElasticSearch入门
简介
ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例。像Solr4一样,是基于Lucene构建的。支持时间时间索引和全文检索。官网: http://www.elasticsearch.org
它对外提供一系列基于 JAVA 和 HTTP 的 API,用于索引、检索、修改大多数配置。
写这篇博客的的主要原因是ElasticSearch的网站只有一些简单的介绍,质量不高,缺少完整的教程。我费了好大劲才把它启动起来,做了 一些比hello world更复杂一些的工作。我希望通过分享我的一些经验来帮助对ElasticSearch(很强大的哦)感兴趣的人在初次使用它的时候能够节省些时 间。学完这篇教程,你就掌握了它的基本操作——启动、运行。我将从我的电脑上分享这个链接。
现在开始体验
- 假设你已经安装了 Java;
- 下载 ElasticSearch 。然后,由于关于在 Linux 与其他非 Wdindows 系统环境里操作它的谈论有许多,这里会更加关心 Windows 7 的桌面环境。请对应选择安装包裹。对 Windows – 一Zip文件 – 用户可解压缩到C:\elasticsearch-0.90.3. 牢记,这十分的不同于安装Eclipse IDE。
- 由于不熟悉curl跟cygwin,而且打算节省掌握时间(此多数在官网ElasticSearch.org应用的命令面对非 Windows平台)。读者可以在 http://curl.haxx.se/download.html 和 http://cygwin.com/install.html 安装Curl和cygwin。
测试一下已经完成的工作:
- Windows 7 环境中,运行命令行,进入 cd C:\elasticsearch-0.90.3\bin 目录。
- 这时运行 elasticsearch.bat
- 上面在本机启动了一个ElasticSearch节点。 读者会看到下面的记录提示。(如果您机器上的情况明显不一样,请读者们不要忧愁,因那作者有些个Elastic Search的插件程序,而且我机器上的节点命名和其它会不同读者机器的)
- 现在在浏览器里测试一下
如果你得到的status是200那它意味着所有的事情都ok啦…是不是很简单?
让我们看看JSON的每个字段代表的含义:
Ok:当为true时,意味着请求成功。
Status:发出请求后的HTTP的错误代码。200表示一切正常。
Name:我们Elasticsearch实例的名字。在默认情况下,它将从一个巨长的名字列表中随机选择一个。
Version:这个对象有一个number字段,代表了当前运行的Elasticsearch版本号,和一个Snapshot_build字段,代表了你当前运行的版本是否是从源代码构建而来。
Tagline:包含了Elasticsearch的第一个tagline: “You Know, for Search.” - 现在让我们从 http://mobz.github.io/elasticsearch-head/ 安装ElasticSearch Head插件
安装方法非常简单
cd C:\elasticsearch-0.90.3\bin plugin -install mobz/elasticsearch-head
上面的命令会把 elasticsearch-head插件装到你的环境里
教程样例
我们将要部署一个非常简单的应用–在一个部门里的雇员–这样我们可以把注意力放在功能而不是氧立得复杂性上。总而言之,这篇博文是为了帮助人们开始ElasticSearch入门。
1)现在打开你的cygwin窗口并且键入命令
curl -XPUT 'http://localhost:9200/dept/employee/32' -d '{ "empname": "emp32"}'
dept是一个索引并且索引类型是雇员,此时我们正在输入这个索引类型的第31个id。
你应该能在cygwin的窗口看到这样的信息:
让我们看一下这个输出:
========================================================================
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 91 100 70 100 21 448 134 --:--:-- --:--:-- --:--:-- 500{"ok":true,"_index":"dept","_type":"employee","_id":"31","_version":1}
========================================================================
和上面的命令一样–让我们输入更多的记录:
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/
你会看到这个:
这里是有关簇使用情况和不同索引信息的概况。我们最近创建的索引在其中,显示为”dept”。
现在点击Structured Query选项卡
在Search下来菜单中选择”dept”并点击”Search”按钮。
这将显示所有记录。
搜索特定条目
让我们来搜索emp1,emp25和emp7。不断点击最右面的”+”来添加更多的搜索项,就像如图显示的那样,之后点击”Search”。确保最左边的选项为”should”,其他的选项也应该和图中的保持一致。
现在你可以继续尝试这个插件了,你可以将其用到你的搜索项目中。
你可以尝试在我的桌面电脑上运行的该应用:
http://98.228.230.117:9200/_plugin/head/
如果有任何问题和意见请联系我。
希望这篇文章可以让你快速上手”ElasticSearch”——一个不错的企业级开源搜索产品。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- TiDB入门(四):从入门到“跑路”
- MyBatis从入门到精通(一):MyBatis入门
- MyBatis从入门到精通(一):MyBatis入门
- Docker入门(一)用hello world入门docker
- 赵童鞋带你入门PHP(六) ThinkPHP框架入门
- 初学者入门 Golang 的学习型项目,go入门项目
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Code Reading
Diomidis Spinellis / Addison-Wesley Professional / 2003-06-06 / USD 64.99
This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students,......一起来看看 《Code Reading》 这本书的介绍吧!