Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。现在是使用最广的开源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 来构建他们的搜索引擎。
安装 Oracle JDK(elasticsearch7以后自带jdk不在需要安装)
# ubuntu
sudo apt-get update
sudo apt-get install openjdk-8-jdk
# centos
sudo yum update
sudo yum install java-1.8.0-openjdk* -y
安装 Elasticsearch
下载
首先选择好需要的版本 现在最新的版本为6.5.4 但是因为我们需要安装一个中文分词的插件
elasticsearch-analysis-ik
目前兼容版本为6.5.0所以我们选择6.5.0版本
# ubuntu
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.deb
# centos
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.rpm
安装
# ubuntu
sudo dpkg -i elasticsearch-6.5.0.deb
# centos
sudo rpm --install elasticsearch-6.5.0.rpm
开机自启动
# ubuntu
sudo update-rc.d elasticsearch defaults 95 10
# centos
systemctl enable elasticsearch.service
启动
# ubuntu
sudo service elasticsearch start
# centos
sudo -i service elasticsearch start
测试
curl http://localhost:9200
你如果你看到以下信息,说明你的ElasticSearch已安装成功。
{
"name" : "PqFpvI9",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "unjaiIZcScqr0F7uAbPyvg",
"version" : {
"number" : "6.5.0",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "816e6f6",
"build_date" : "2018-11-09T18:58:36.352602Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
注意: elasticsearch启动需要时间 如果请求发现未看到,等待10-20秒再次请求查看,如果还是未启动,请查看elasticsearch日志
其他
查看elasticsearch日志
cat /var/log/elasticsearch/elasticsearch.log
配置elasticsearch
默认情况下 Elasticsearch 的 RESTful 服务只有本机才能访问 为了方便调试 可以修改
/etc/elasticsearch/elasticsearch.yml
文件修改监听端口
# 修改为0.0.0.0 并且取消注释
network.host: 0.0.0.0
安装中文分词插件 IK
Elasticsearch原装分词器会简单地拆分每个汉字,没有根据词库来分词,这样的后果就是搜索结果很可能不是你想要的。这里推荐使用elasticsearch-analysis-ik,支持自定义词库。
下载
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v6.5.0.tar.gz
解压
tar -xvf elasticsearch-analysis-ik.tar.gz
使用maven打包该java项目
需要用到 maven 如果没有 可以用 apt-get install maven
cd elasticsearch-analysis-ik-6.5.0
mvn package
在plugins目录下创建ik目录,并将打包好的IK插件解压到其中
sudo mkdir /usr/share/elasticsearch/plugins/analysis-ik
sudo unzip target/releases/elasticsearch-analysis-ik-6.5.0.zip -d /usr/share/elasticsearch/plugins/analysis-ik/
elasticsearch-analysis-ik 的配置文件在 ~/{es_root}/plugins/ik/config/ 目录,很多都是词表,直接用文本编辑器打开就可以修改,改完记得保存为 utf-8 格式。
现在再启动 Elasticsearch 服务,如果在日志中看到类似下面这样的信息,说明 analysis IK 插件已经装好了
loaded plugin [analysis-ik]
或者 你可以查看下Elasticsearch 的插件列表
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
参考资料: