一、介绍 我们所熟知以及比较流行常用的全文检索引擎有, elasticsearch,solr.../>
一、介绍
我们所熟知以及比较流行常用的全文检索引擎有,
elasticsearch,solr,spinx,xunsearch,还有一个轻量级的TNTsearch;
elasticsearch,solr都是基于Lucene;
TNTSearch对于博客这类的小项目基本够用了;但是如果最求性能追求更强大的功能的话;
那更优的选择就非 elasticsearch 莫属了;
安装elasticsearch 需要 java8 以上;
这里安装最新版的 java11 ;
二、jdk下载和安装 jdk官方地址
1.下载 jdk:
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie"https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
注:下载jdk安装包的时候,wget需要带这些头部信息,不然下载的包没法用
--no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie"
2.解压:
tar -zxvf jdk-11.0.1_linux-x64_bin.tar.gz
3.把安装包移动到/usr/local/文件中,并把jdk-11.0.1安装包名更改成java文件名
mv jdk-11.0.1 /usr/local/java
4.编辑配置文件,配置环境变量:
vim /etc/profile
在文本的末尾添加如下内容:
export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
执行命令生效 :source /etc/profile
5.查看安装情况:java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
能查看到版本号则表示安装成功;
三、安装elasticsearch 官网下载
1.下载:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.2.tar.gz
2.解压:
tar -zxf elasticsearch-6.5.2.tar.gz
3.把安装包移动到/usr/local/文件中,并更改成elasticsearch文件
注:elasticsearch启动不能用root用户启动,所以需要增加elasticsearch用户
useradd elsearch
并将elasticsearch目录变成该用户所有:chown -R elsearch:elsearch elasticsearch
4.编辑配置项
vim /usr/local/elasticsearch/config/elasticsearch.yml
去掉下面三行的注释;
bootstrap.memory_lock: true
network.host: 192.168.0.1
http.port: 9200
然后把 network.host 改成 localhost
5.启动 elasticsearch
cd /usr/local/elasticsearch
切换到elsearch用户,然后在启动
./bin/elasticsearch
6.如果半天没有启动起来,可能是内存不够
vim /etc/elasticsearch/jvm.options
把内存改为自己服务器内存的一半以下;
比如说这里改为 512M,如图:
7.启动 elasticsearch
cd /usr/local/elasticsearch
切换到elsearch用户,然后在启动
./bin/elasticsearch
8.查看elasticsearch是否启动成功(curl 127.0.0.1),如图:
至此 elasticsearch 就算是安装完成了。
9.测试一下搜索中文
curl -H 'Content-Type: application/json' -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"ik_max_word","text":"黄信强博客"}' 如图:
可见elasticsearch内置的分词器对中文相当不友好;
只会一个字一个字的分;下面我们来安装elasticsearch的中文分词
四、安装elasticsearch的中文分词ik-analyzer
1.Elasticsearch 内置的分词器是standard对英文分词还好,但对中文的支持就比较弱,所以需要另外引入一个中文分词器。目前比较流行的中文分词器有:IKAnalyzer、MMSeg4j、Paoding等等。此次引入的是IKAnalyzer。
2.安装ik-analyzer
/usr/local/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.2/elasticsearch-analysis-ik-6.5.2.zip
注:我安装的elasticsearch版本是6.5.2,然后elasticsearch-analysis-ik也要对应6.5.2版本
安装完成,如图:
重启./bin/elasticsearch
./bin/elasticsearch,然后
curl -H 'Content-Type: application/json' -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"ik_max_word","text":"黄信强博客"}'
我们可以看到博客两个词语已经成功组合到了一起;
然而我的名字"黄信强"却被硬生生的拆成了3个字,这怎么能忍,我忍不了;
还好强大的 analysis-ik 支持自定义词库;
增加自定义词库;
3.编辑IKAnalyzer.cfg.xml文件
vim /usr/local/elasticsearch/config/analysis-ik/IKAnalyzer.cfg.xml
4.创建并编辑huangxinqiang.dic文件
cd /usr/local/elasticsearch/config/analysis-ik/
vim huangxinqiang.dic
输入:黄信强,wq保存退出
5.再次搜索中文
curl -H 'Content-Type: application/json' -XGET 'localhost:9200/_analyze?pretty' -d '{"analyzer":"ik_max_word","text":"黄信强博客"}'
至此,中文分词也安装完毕,双击666!
如果此文对你有所帮助,请随意打赏鼓励作者^_^
微信公众号
微信
最新评论
总共0条评论