|
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
但是,Lucene只是一个库。想要发挥其强大的作用,你需使用Java并要将其集成到你的应用中。Lucene非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的。
Elasticsearch也是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。
回顾:
现在准备将服务器的应用和中间件转成容器化部署,使用 Docker 镜像部署只需要简单的几行命令或者一个 yml 文件,就可以将整套系统跑起来,抛弃传统部署的麻烦,例如:各种配置文件修改。最重要的,如果将服务做成无状态的,迁移起来也比较方便。
本文使用 elasticsearch:6.5.2 镜像作为演示教程,系统为:CentOS 8
安装 Docker
首先,需要安装 docker 服务,教程如下:
启动 Elasticsearch 应用
https://www.docker.elastic.co/ 提供了所有已发布 Docker 镜像和标签的列表
使用 elasticsearch:6.5.2 作为基础镜像,启动命令如下:
使用浏览器访问内网服务器 ip:9200 即可看到如下所示:
{
"name" : "YDBU8PG",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "VexaBtA2Q-qAZlwbvUHjXA",
"version" : {
"number" : "6.5.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "9434bed",
"build_date" : "2018-11-29T23:58:20.891072Z",
"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-analysis-ik
我们需要进入到容器内来安装 IK 分词插件,命令如下:
进入到容器后,默认就进入到 /usr/share/elasticsearch 目录下面,安装插件命令如下:
注意:elasticsearch-analysis-ik 的版本一定要和当前的 elasticsearch 版本相对应!
安装完成后,可以进入到 /usr/share/elasticsearch/config/analysis-ik 目录下面,找到 IKAnalyzer.cfg.xml 文件来自定义词库,示例如下:
配置完成后,在 /usr/share/elasticsearch/config/analysis-ik 下面上传自己的 my.dic 文件,可以通过 docker cp 命令将宿主机的文件复制到容器内部中,参考如下:
启动 elasticsearch-head 应用
同样,也可以使用 docker 命令创建一个 elasticsearch-head 应用,通过 elasticsearch-head 连接 elasticsearch 服务,命令如下:
启动 Kibana 应用
当然,也可以安装 Kibana 来管理 elasticsearch 服务,Kibana 是一个开源分析和可视化平台,旨在与 Elasticsearch 配合使用。您可以使用 Kibana 搜索、查看存储在 Elasticsearch 索引中的数据并与之交互。您可以轻松地执行高级数据分析并在各种图表、表格和地图中可视化您的数据。参考如下:
也可以使用 docker 命令快速创建 kibana 应用,命令如下:
备注:--link 别名一定要使用 elasticsearch,使用其它的别名将会报错如下:
启动完成后,访问 http://ip:5601/ 即可,如下图:
与 Elasticsearch 相关产品的兼容性(5.x、6.x、7.x)可以参考如下:https://www.elastic.co/cn/support/matrix#matrix_compatibility
(完)
|
上一篇:Java java.util.AbstractMap.SimpleImmutableEntry 详解下一篇:Spring 注解 @AutoConfigureBefore 和 @AutoConfigureAfter 的介绍
|