ES解析word内容为空的问题和直接使用Tika解析文档的方案

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

在这篇文章中,作者解决了Elasticsearch(ES)无法解析docx和doc文档的问题。他尝试了多种方法,包括检查base64码、修正pipline、检查word文档和Excel解析等,但都没有成功。最终,作者决定直接使用Tika库来解析文档,并成功解析了pdf、docx、excel、ppt、markdown和txt等多种格式的文件内容。作者建议在设计文档解析时使用Tika库,而不是依赖ES的插件。

🎯

关键要点

  • ES7.3无法索引docx和doc文档,内容为空问题。
  • 尝试多种方法解决,包括检查base64码和修正pipeline,但未成功。
  • 最终决定直接使用Tika库解析文档,成功解析多种格式。
  • 建议在文档解析设计中使用Tika库,而非依赖ES插件。
  • 排查过程中发现数据流传输成功,但ES未能解析内容。
  • 新建测试文件仍无法解析,doc文件运行时报错。
  • Excel文件解析也存在问题,ES对docx文件的识别不一致。
  • 官方建议使用Tika库,虽然失去分布式效果,但更可靠可控。
  • 尝试不同版本的Tika库,最终使用最新版本成功解析。
  • 通过Tika库可以解析pdf、docx、excel、ppt、markdown和txt等多种格式。
➡️

继续阅读