ElasticSearch 简单入门 已翻译 100%

oschina 投递于 2014/01/11 07:34 (共 6 段, 翻译完成于 01-15)
阅读 100621
收藏 126
14
加载中

简介

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

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

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

mahengyang
mahengyang
翻译于 2014/01/11 23:26
5

这么着就开始了。

  1. 作者假设读者拥有安装后的Java。

  2. 下载来自http://www.elasticsearch.org/download/的ElasticSearch。再一次,关于在Linux与其他非视窗系统环境里操作它的谈论有许多,但是作者更加关心着视窗7版桌面环境。请对应选择安装包裹。对视窗系统 - 一Zip文件 - 用户可解压缩到C:\elasticsearch-0.90.3\. 牢记,这十分的不同于安装Eclipse IDE。

  3. 作者不熟悉curl跟cygwin,而且作者打算节省掌握时间(此多数在官网ElasticSearch.org应用的命令面对非视窗平台)(译者:大可以安装一虚拟机、便携版Linux或者MinGW)。读者可以在http://curl.haxx.se/download.htmlhttp://cygwin.com/install.html安装Curl和cygwin。

于是测试下目前作者和读者所做到的。

  1. 视窗7版桌面环境,运行命令行,进入 cd C:\elasticsearch-0.90.3\bin 目录。

  2. 这时运行 elasticsearch.bat

  3. 上面在本机启动了一个ElasticSearch节点。 读者会看到下面的记录提示。

(如果您家情况明显不一样,请读者们不要忧愁,因那作者有些个Elastic Search的插件程序,而且作者家节点命名和其它会不同读者家的)

dij
dij
翻译于 2014/01/13 09:14
4

4. 现在在浏览器里测试一下

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

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

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

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

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

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

Tagline:包含了Elasticsearch的第一个tagline: "You Know, for Search."

BoydWang
BoydWang
翻译于 2014/01/13 18:06
2

5. 现在让我们从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插件搜索你的数据了。

BoydWang
BoydWang
翻译于 2014/01/13 22:23
3

让我们试试吧!

在浏览器中输入:

http://localhost:9200/_plugin/head/ 

你会看到这个:

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

现在点击Structured Query选项卡

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

这将显示所有记录。

realZ
realZ
翻译于 2014/01/15 03:19
3

搜索特定条目

让我们来搜索emp1,emp25和emp7。不断点击最右面的"+"来添加更多的搜索项,就像如图显示的那样,之后点击"Search"。确保最左边的选项为"should",其他的选项也应该和图中的保持一致。

现在你可以继续尝试这个插件了,你可以将其用到你的搜索项目中。

你可以尝试在我的桌面电脑上运行的该应用:

http://98.228.230.117:9200/_plugin/head/ 

如果有任何问题和意见请联系我。

希望这篇文章可以让你快速上手"ElasticSearch"——一个不错的企业级开源搜索产品。

realZ
realZ
翻译于 2014/01/15 16:52
3
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(28)

smart152819
smart152819
夜行侠老师录制的Elasticsearch在互联网应用中遇到的问题汇总
由大象分享网出版:
http://www.itjoin.org/course/detail/5923cad80cf2d61ce4892aa6
夜行侠课程集合:http://www.xuetuwuyou.com/user/29
第1集es的问题汇总
第2集es的权限控制插件编写
第3集es的权限控制插件运行
第4集搜索的精准性控制
第5集解决搜索中英文数字混合
第6集搜索中in查询和正则查询 - 副本
第7集安装问题
第8集es源码内部是如何做到插件化扩展
第9集统计时展示不全
第10集搜索条件过多,内容过长报错
第11集type的单一字段field过大保存失败
第12集自动补全设计
第13集es的分布式如何实现RPC底层
第14集head插件的使用
第15集es分片和副本级的原理
第16集如何做到只更新部分数据
第17集数组在index中如何指定
第18集es搜索结果窗口太大以及group by里如何排序
第19集es底层新增和删除索引的全过程
第20集es底层检索的全过程
第21集总结与下期预告
smart152819
smart152819
夜行侠老师视频教学:es问题汇总
http://www.itjoin.org/
1、如何防止索引被删除(权限控制)
2、搜索的精准性控制
3、解决搜索中英文数字混合
4、搜索中in查询
5、安装问题
6、es源码内部是如何做到插件化扩展
7、统计时展示不全
8、搜索条件过多,内容过长报错
9、索引某一字段内容太大
10、自动补全设计
11、es的分布式如何实现RPC底层
12、es的分片机制
13、head插件的使用
14、es分片和副本级的是原理
15、如何做到只更新部分数据
16、数组在index中如何制定
17、es搜索结果窗口太大
18、group by里如何排序
19、es底层新增和删除索引的全过程
20、es底层检索的全过程
至少还有我在
Elasticsearch在互联网应用中遇到的问题汇总
课程观看地址:http://www.xuetuwuyou.com/course/176/tasks
课程出自学途无忧网:http://www.xuetuwuyou.com
讲师:夜行侠

本课程主要是总结同学们在学习中以及老师本人自己在整es的时候遇到的问题汇总,要是以后还有问题,老师还会陆续更新

课程目录:
第1集es的问题汇总
第2集es的权限控制插件编写
第3集es的权限控制插件运行
第4集搜索的精准性控制
第5集解决搜索中英文数字混合
第6集搜索中in查询和正则查询 - 副本
第7集安装问题
第8集es源码内部是如何做到插件化扩展
第9集统计时展示不全
第10集搜索条件过多,内容过长报错
第11集type的单一字段field过大保存失败
第12集自动补全设计
第13集es的分布式如何实现RPC底层
第14集head插件的使用
第15集es分片和副本级的原理
第16集如何做到只更新部分数据
第17集数组在index中如何指定
第18集es搜索结果窗口太大以及group by里如何排序
第19集es底层新增和删除索引的全过程
第20集es底层检索的全过程
第21集总结与下期预告

推荐配套学习:浅入深出ElasticSearch构建高性能搜索架构
课程观看地址:http://www.xuetuwuyou.com/course/161
谏山黄泉SAMA
谏山黄泉SAMA

引用来自“妮妮我爱你”的评论

2017最新ElasticSearch视频教程
下载地址分享:http://pan.baidu.com/s/1hsBSiSc 密码:11af

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。
本套课程由浅入深地从ElasticSearch最基础部分开始讲解,到深入实际应用,可谓是一套难得的好教材!
大神能给一个播放码吗?
leh
leh

引用来自“zxwei0334”的评论

不出来status:200


java.lang.IllegalArgumentException: No feature for name [_status]
at org.elasticsearch.action.admin.indices.get.GetIndexRequest$Feature.fromName(GetIndexRequest.java:82)
at

引用来自“稻草鸟人”的评论

我也有这个问题...不晓得你这边怎么解决的?

引用来自“Lotk”的评论

JAVA_HOME需要设置为1.7以上的jdk

引用来自“zhonglongfuwang”的评论

你这问题解决了吗?
【】这个问题很有可能是安装了bigdesk这个插件造成的,浏览器不要访问这个插件
leh
leh

引用来自“zxwei0334”的评论

不出来status:200


java.lang.IllegalArgumentException: No feature for name [_status]
at org.elasticsearch.action.admin.indices.get.GetIndexRequest$Feature.fromName(GetIndexRequest.java:82)
at
的确,这是什么情况?刚开始还没这个错误,安装一个plugin,重启后就不好使的了
WeiXiaodong
WeiXiaodong

引用来自“formatcc”的评论

这翻译简直无语了。。。
竟然还那么多人点赞
小狐狸笑笑
小狐狸笑笑

引用来自“妮妮我爱你”的评论

2017最新ElasticSearch视频教程
下载地址分享:http://pan.baidu.com/s/1hsBSiSc 密码:11af

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。
本套课程由浅入深地从ElasticSearch最基础部分开始讲解,到深入实际应用,可谓是一套难得的好教材!
回复@妮妮我爱你 : 上线看到 给个回复 帅哥 能给个播放码吗
妮妮我爱你
2017最新ElasticSearch视频教程
下载地址分享:http://pan.baidu.com/s/1hsBSiSc 密码:11af

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。
本套课程由浅入深地从ElasticSearch最基础部分开始讲解,到深入实际应用,可谓是一套难得的好教材!
coderwmj
coderwmj
elasticsearch 官网同步更新-中文文档:https://github.com/13428282016/elasticsearch-CN/wiki/gettting-started
返回顶部
顶部