Elasticsearch就是这么简单(一)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词。接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的。

一、前言


最近有点想弄一个站内搜索的功能,之前学过了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了

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

10.jpg

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


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

11.jpg

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的下载还是非常方便的,提供搜索来进行下载。这里我就不贴链接了。直接去官网找就行了。

下载了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服务器上开放端口才能访问:


12.jpg

3.2.1下载head插件


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

添加用户和组


groupadd elasticsearch
useradd  elasticsearch -g elasticsearch -p 123456


修改文件夹权限


chown -R elasticsearch:elasticsearch elasticsearch-2.3.3

13.jpg


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

./plugin install mobz/elasticsearch-head

14.jpg


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

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

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

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

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

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
6月前
|
自然语言处理 网络架构 索引
Elasticsearch7.1之cerebro使用(一)
Elasticsearch7.1之cerebro使用(一)
76 1
|
7月前
|
存储 JSON 数据可视化
Elasticsearch
Elasticsearch
58 6
|
存储 缓存 索引
Elasticsearch(四)
Elasticsearch(四)
64 0
|
存储 监控 搜索推荐
【Elasticsearch】初识elasticsearch(上)
【Elasticsearch】初识elasticsearch
77 0
|
自然语言处理 索引
如果还不会Elasticsearch这七个问题 那么你的Elasticsearch白学
如果还不会Elasticsearch这七个问题 那么你的Elasticsearch白学
79 0
下一篇
DataWorks