Elasticsearch就这么简单

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

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

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

首先是对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了

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

Elasticsearch就这么简单

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

2.2安装head

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

plugin install mobz/elasticsearch-head 2.3安装kibana和Logstash插件以服务形式运行

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

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

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安装分词器

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

Elasticsearch就这么简单

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'

想要通过外网来访问的话,那么就需要修改配置文件了,参考链接

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

Elasticsearch就这么简单

3.2.1下载head插件

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

添加用户和组

groupadd elasticsearch useradd elasticsearch -g elasticsearch -p 123456

修改文件夹权限

chown -R elasticsearch:elasticsearch elasticsearch-2.3.3

Elasticsearch就这么简单

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

./plugin install mobz/elasticsearch-head

Elasticsearch就这么简单

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

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

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

我是通过在github中别人提出的issue中找到答案的。参考:

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

3.2.2下载权限shield

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

输入命令:

plugin install license plugin install shield

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

bin/shield/esusers useradd adminName -r admin

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzffs.html