欢迎投稿

今日深度:

Elasticsearch就这么简单,

Elasticsearch就这么简单,


一、前言

最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的。

我去搜了几篇Elasticsearch教程,发现很多都是基于linux的,但我linux耍得并不熟,很少用。仅仅会一些简单的命令,等真正去用到linux的时候再慢慢啃吧。

于是发现了一篇写得很好的教程:

http://blog.csdn.net/laoyang360/article/details/52244917

首先是对Elasticsearch的安装,上面那篇教程也有说,并且给出了一键安装的脚本。这里就用来记录我个人的安装历程吧。

PS:2018年3月22日18:58:12更新:这里我已经不建议在Windows下装Elasticsearch了,因为装起来还是麻烦,也有一堆的小问题~(后面也有在Linux下配置Elasticsearch的过程,建议用linux环境下学习Elasticsearch(要是学生建议去买个服务器,有优惠的),实在不想出钱,用虚拟机也行~

二、Windows下安装Elasticsearch(不建议)

2.1安装Elasticsearch

安装Elasticsearch以window服务的方式来运行,它的给出的版本是2.3.3。于是我也去安装2.3.3了

在官网上可以在搜索框中查找对应的版本

img_e5b705ee5fe014edbf1169b241fb7ec3.png

要以windows服务的方式运行,教程给出的链接已经挂了。我搜到了一篇

http://www.cnblogs.com/viaiu/p/5715200.html

2.2安装head

安装head插件就很简单了,切换到对应的目录下,使用如下命令:

plugin install mobz/elasticsearch-head

2.3安装kibana和Logstash插件以服务形式运行

给出的连接是stackOverFlow下的提问,还有youtobe的视频。stackOverFlow并不能解决我安装过程的问题,youtobe我没联外网,也进不去。

后来,我又找到了一篇教程,也十分顺利:

https://segmentfault.com/a/1190000010741203#articleHeader2

Logstash下载的版本是:2.3.3与Elasticsearch对应起来。

下载kibana的版本是:4.5.0

能够出现下面这种情况,说明安装成功

2.4安装Shield

plugin install license
plugin install shield

重启,接着执行:

添加管理员

bin/shield/esusers useradd adminName -r admin

为kibana添加用户

esusers useradd kibanaserver -r kibana4_server

在其配置上(kibana.yml)添加:

kibana_elasticsearch_username: kibanaserver  #Kibana服务将用这个用户名访问ElasticSearch服务器。  
kibana_elasticsearch_password: zhongfucheng     #密码  

只有配置了kibanaserver账户、才能登陆进去

2.5安装分词器

这次教程给出的连接就用上了,我截图主要的:

img_85fa8a4124bb08effa4b4f5c0e1d129e.png

ik分词器的版本是1.9.3。文章给出的是以mvn的方式打包下载。因此在github中我们下载resouce类型的

解压的时候是在zip解压到当前文件上,把conf的数据拿过去是将其源文件拿过去(不包括文件夹!)

2.6拼音分词器

前面下载了中文分词器,后边在看教程的时候也发现了拼音分词器,拼音分词器的安装和中文分词器安装的时候很类似

对应Elasticsearch2.3.3版本的拼音分词器版本为:1.7.3

Windows下装Elasticsearch到此就结束了。

三、Linux下安装Elasticsearch

这是我搭建一个项目时候的笔记,

3.1下载Elasticsearch

Elasticserach的下载还是非常方便的,提供搜索来进行下载。这里我就不贴链接了。直接去官网找就行了。或者去我的Elasticsearch学习记录中找。

下载了2.3.3版本,因为我在windows开发的时候也是下载2.3.3版本的,就为了保持一致吧。

3.2安装Elasticsearch


tar -xzvf elasticsearch-2.3.3.tar.gz

切换到bin目录下执行就行了...

需要这样执行elasticsearch,如果使用的是root用户的话


 ./elasticsearch -d  -Des.insecure.allow.root=true

现在使用下面的语句,是可以获取得到信息的


curl -X GET 'http://localhost:9200'

想要通过外网来访问的话,那么就需要修改配置文件了,参考链接http://blog.csdn.net/u012599988/article/details/51767183

还要在ESC服务器上开放端口才能访问:

img_5043b46ef9504b226113a41cd0b3b0da.png

3.2.1下载head插件

在下载head插件的时候,需要修改elasticsearch的用户和组,否则它就不让你下载。命令如下

添加用户和组


groupadd elasticsearch
useradd  elasticsearch -g elasticsearch -p 123456

修改文件夹权限


chown -R elasticsearch:elasticsearch elasticsearch-2.3.3

img_b5c4d0f4e98bc7ec5028f03d399fda74.png

弄完之后就可以执行命令下载head插件了。


./plugin install mobz/elasticsearch-head

img_9915d7dc522519a139411afdeb171f53.png

下载完head插件后,不要立马下载shield插件,首先在head插件上创建一个索引!

否则,当下载完shield插件、再访问head插件的话,就无法连接节点了!

这搞了我好长的时间才弄好!!!!!网上也有很多人遇到过这种情况,却没什么好的回答。都在说配置文件上的事情。

我是通过在github中别人提出的issue中找到答案的。参考:https://github.com/mobz/elasticsearch-head/issues/191#issuecomment-132636493

记住了,先在head插件中创建索引、再下载shield插件,否则无法连接head插件!

3.2.2下载权限shield

我在windows下开发是有下载shiled,为了保持一致,我也下载吧。

输入命令:


plugin install license
plugin install shield

下载完就配置一个管理员用户


bin/shield/esusers useradd adminName -r admin

如果文章有错的地方欢迎指正,大家互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/43507.html NewsArticle Elasticsearch就这么简单, 一、前言 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为...
评论暂时关闭