1 本文摘要
本文为《构建FAQ问题系统》的第一部分,主要介绍Elasticsearch(ES)及相关插件elasticsearch-head,Kibana的安装,后期会讲解如何向Elasticsearch中添加数据,查询数据等。随后介绍如何利用ES来构建FAQ问答系统中语义召回的模块,系统要求Ubuntu16.04。
2 Elasticsearch简介
Elasticsearch 是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说 Lucene 是当今最先进,最高效的全功能开源搜索引擎框架。Elasticsearch是一个实时分布式和开源的全文搜索和分析引擎。 它可以从RESTful Web服务接口访问,并使用模式少JSON(JavaScript对象符号)文档来存储数据。它是基于Java编程语言,这使Elasticsearch能够在不同的平台上运行。使用户能够以非常快的速度来搜索非常大的数据量。
原文链接:https://www.yiibai.com/elasticsearch
3 Elasticsearch及相应插件elasticsearch-head,Kibana的安装
3.1 Ubuntu16下安装Java8
步骤如下
①下载 JDK8;
在:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 页面根据系统配置选择合适的压缩包,我这里选择 jdk-8u211-linux-x64.tar.gz 下载
②将包进行解压 ,并将解压后的文件夹jdk1.8.0_211复制到/opt下;
tar zxvf jdk-8u211-linux-x64.tar.gz
cd /opt
sudo mv /home/pm/Downloads/jdk1.8.0_211 .(注意最后有一个“.”)
③在/bin目录下创建java软链接,并进行验证;
④设置Java环境;
sudo gedit /etc/profile
在文件末尾添加:
保存并关闭后执行:
source /etc/profile
echo $JAVA_HOME
java安装完毕
3.2 Ubuntu16下安装Elasticsearch
①在官网:https://www.elastic.co/downloads/elasticsearc 下载安装包,本文下载的是最新的elasticsearch-7.1.1-linux-x86_64.tar.gz。
②将安装包进行解压进入相应目录,启动Elasticsearch
tar zxvf elasticsearch-7.1.1-linux-x86_64.tar.gz
cd elasticsearch-7.1.1/bin/
./elasticsearch
在浏览器中输入 http://localhost:9200/ 出现以下文字则表示成功;
3.2 Elasticsearch-head 及Kibana安装
3.2.1 Elasticsearch-head安装
①elasticsearch 5.x之后不支持直接plugin安装head插件,而是将head作为一个独立的服务安装的,首先需要安装依赖的node,npm,grunt,命令如下:
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install -g grunt
sudo npm install -g grunt-cli
注意:可能会报npm node的版本过低,先利用apt-get 卸载:
sudo apt-get remove --purge npm
sudo apt-get remove --purge nodejs
sudo apt-get remove --purge nodejs-legacy
然后再安装最新的node,npm:
sudo apt-get install nodejs-legacy
sudo apt-get install npm
sudo npm install npm@latest -g
sudo npm install -g n
sudo n latest
sudo n stable
sudo n lts
查看node,js版本:
node -v
npm -v
下载npm的相关插件:
sudo npm install
②下载Elasticsearch-Head插件并解压
sudo wget https://codeload.github.com/mobz/elasticsearch-head/zip/master
unzip master
③修改相关配置文件
服务器的监听地址(目录为elasticsearch-head-master/Gruntfile.js),添加高亮部分
elasticseach的配置文件elasticsearch.yml,添加如下信息:
启动elasticsearch服务后,进入到elasticsearch-head-master文件夹内执行命令 sudo npm start方可启动elasticsearch-head,在浏览器地址栏输入http://localhost:9100可以看到如下图所示表示安装成功。
3.2.2 Kibana安装
①根据安装的elasticsearch版本下载对应的Kibana安装包,我这里下载的是7.1.1版本,并进行解压
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.1.1-linux-x86_64.tar.gz
sha1sum kibana-7.1.1-linux-x86_64.tar.gz
tar -xzf kibana-7.1.1-linux-x86_64.tar.gz
cd kibana-7.1.1-linux-x86_64/
②设置kibana环境变量
执行sudo gedit /etc/profile,在文件末尾添加:
KIBANA_HOME=/home/pm/kibana-7.1.1-linux-x86_64
PATH=$KIBANA_HOME:$PATH
export KIBANA_HOME
③.运行kibana
./bin/kibana
浏览器地址栏输入 http://localhost:5601 可以看到如下图所示表示安装成功。