Docker中ES与Kibana的搭建及文档解析存储

需积分: 0 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提供可视化界面。这为信息检索和数据分析提供了便利。