Docker中ES与Kibana的搭建及文档解析存储
需积分: 0 139 浏览量
更新于2024-08-04
收藏 19KB MD 举报
本文档主要介绍了如何在Docker环境下搭建Elasticsearch (ES) 和Kibana,并实现文档解析及搜索功能。通过安装Docker,然后依次部署ES和Kibana,接着解析不同类型的文档(如xlsx、docx、pdf)存储到ES,最后设置查询接口,能够根据输入的词语搜索包含该词语的文档名称。
### 1. 安装Docker
首先,按照提供的链接(https://gitee.com/w_qingfeng/learning-notes.git)安装Docker,确保其正确安装并能在本地运行。
### 2. 搭建Elasticsearch
#### 2.1 启动Elasticsearch容器
使用以下命令启动一个Elasticsearch容器,配置为单节点模式:
```
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.1
```
参数说明:
- `-d`:后台运行容器。
- `--name es`:设置容器名为es。
- `-p 9200:9200` 和 `-p 9300:9300`:分别映射9200和9300端口,供外部访问和集群通信。
- `-e "discovery.type=single-node"`:设置为非集群模式。
#### 2.2 新建挂载目录
创建挂载目录用于存放配置文件、插件和数据:
```
mkdir -p /mydata/docker/es/config/
mkdir -p /mydata/docker/es/plugins/
mkdir -p /mydata/docker/es/data/
```
#### 2.3 复制配置文件
将容器内的配置文件复制到挂载目录:
```
docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml /mydata/docker/es/config/elasticsearch.yml
```
#### 2.4 安装IK分词器
下载并解压elasticsearch-analysis-ik-7.17.1.zip,然后将其上传到 `/mydata/docker/es/plugins/ik/` 目录下。
#### 2.5 配置文件授权
赋予挂载目录相应的权限:
```
cd /mydata/docker/
chmod -R 777 es/
```
#### 2.6 重启Elasticsearch容器
重新启动容器以应用配置更改:
```
docker stop es
docker start es
```
### 3. 搭建Kibana
使用类似的方法启动Kibana容器,确保与Elasticsearch在同一网络下:
```
docker run -d --name kibana -p 5601:5601 --link es:elasticsearch kibana:7.17.1
```
### 4. 文档解析
为了将xlsx、docx、pdf等文档解析并存入ES,需要编写相应的解析程序。例如,可以使用Python的`pandas`库解析xlsx,`python-docx`库解析docx,`PyPDF2`库解析pdf。解析后的数据转换为JSON格式,通过ES的HTTP REST API存储到索引中。
### 5. 实现搜索接口
创建一个API接口,接收用户输入的词语,查询ES中的文档,返回包含该词语的文档名称。这可以通过编程语言(如Python、Java、Node.js等)实现,调用ES的搜索API进行查询。
### 6. 测试与优化
测试搜索功能,确保能正确返回结果。根据需求可能需要进行性能优化,如调整ES索引设置,优化查询语句,或者考虑使用更高效的数据结构和算法。
总结,通过以上步骤,我们可以构建一个基本的文档检索系统,它能够处理多种类型的文档,支持关键词搜索,并通过Kibana提供可视化界面。这为信息检索和数据分析提供了便利。
2019-05-06 上传
2020-08-31 上传
2020-07-02 上传
2024-03-26 上传
2021-04-07 上传
2023-07-27 上传
2023-07-27 上传
2023-07-27 上传
2023-07-27 上传
你的乐观锁
- 粉丝: 2
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录