Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。

安装 Elasticsearch(elasticsearch7以后自带jdk不在需要安装)

下载

首先选择好需要的版本 现在最新的版本为7.3 但是我们一般来说不用最新版,找比最新版本低一个的就行,在此选择7.2

# ubuntu
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-amd64.deb

# centos
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-x86_64.rpm

安装

# ubuntu
sudo dpkg -i elasticsearch-7.2.0-amd64.deb

# centos
sudo rpm --install elasticsearch-7.2.0-x86_64.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" : "localhost.localdomain",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "_DyK97Y_RHa78LVVVgSA_A",
  "version" : {
    "number" : "7.2.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "508c38a",
    "build_date" : "2019-06-20T15:54:18.811730Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "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,支持自定义词库。

使用elasticsearch-plugin进行安装(从v5.5.1版本支持)

/usr/share/elasticsearch/bin/elasticsearch-plugin install  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip

elasticsearch-analysis-ik 的配置文件在 /usr/share/elasticsearch/plugins/analysis-ik/ 目录,很多都是词表,直接用文本编辑器打开就可以修改,改完记得保存为 utf-8 格式。

你可以查看下Elasticsearch 的插件列表

$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
analysis-ik

参考资料: