内容简介: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入门项目
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法:Python语言描述
裘宗燕 / 机械工业出版社 / 2016-1 / CNY 45.00
本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决问题的目标来组织教学内容,注重理论与实践的并用。一起来看看 《数据结构与算法:Python语言描述》 这本书的介绍吧!