Elasticsearch

全文搜索属于最常见的需求,开源的 Elasticsearch是目前全文搜索引擎的首选。

它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。

本文从零开始,讲解如何使用 Elasticsearch 搭建自己的全文搜索引擎。每一步都有详细的说明,大家跟着做就能学会。


一、安装前虚准备的

Elastic 需要 Java 8 环境。如果你的机器还没安装 Java 必须先安装Java环境

sudo apt-get update  
sudo apt-get install openjdk-8-jdk  

安装完成后 还需要配置全局环境变量

  • 可以通过命令查看java的安装位置
$ sudo update-alternatives --config java
  • 复制首选安装的路径,然后打开 /etc/environment
$ sudo nano /etc/environment
  • 在此文件中,添加以下行,确保使用您自己的复制路径替换突出显示的路径。
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"  
  • 保存并退出该文件,然后重新加载它。
$ source /etc/environment
  • 现在可以通过执行以下命令来测试环境变量是否已设置:
$ echo $JAVA_HOME

这将返回您刚刚设置的路径。

Java 安装现在告一个段落;下面进入安装Elasticsearch

二、安装Elasticsearch

这里我们以deb包安装方式来安装(这种包支持root账户,其他包由于服务器安全禁止使用root账户安装)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.deb  
dpkg -i elasticsearch-6.2.3.deb  

开机自启动

sudo update-rc.d elasticsearch defaults 95 10  
sudo service elasticsearch start  
#重启/关闭
service elasticsearch restart/stop  

如果一切正常,Elasticsearch 就会在默认的9200端口运行。这时,打开另一个命令行窗口,请求该端口,会得到说明信息。

curl http://localhost:9200  

进入/etc/elasticsearch/config/elasticsearch.yml文件,允许所有访问

network.bind_host: "0.0.0.0"  
curl http://IP地址:9200  

上面代码中,请求9200端口,Elasticsearch 返回一个 JSON 对象,包含当前节点、集群、版本等信息。

三、安装中文分词插件

安装中文分词插件。这里使用的是 ik,也可以考虑其他插件(比如 smartcn)注意 elasticsearch版本要与插件版本对应。

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.3/elasticsearch-analysis-ik-6.2.3.zip

上面代码安装的是5.5.1版的插件,与 Elastic 5.5.1 配合使用。

接着,重新启动 Elastic,就会自动加载这个新安装的插件。

现在 Elasticsearch 就基本安装完毕了

您的支持是对我最大的鼓励!

发表于: 作者:吕倡
博主经历空降兵部队8年军旅生涯,退伍后到北京IT兄弟连学习软件编程开发,工作不到一年后IT进入兄弟会,一晃在IT行业混迹了5、6年的时间。。。从一名小白也进入到了IT管理者的位置。博客,是博主学习知识分享以及私人笔记(未发布的博客)留存的地方,方便随时观看。
我的站点 Github 新浪微博 Email联系我