ITPub博客

首页 > 数据库 > 数据库开发技术 > 实战 | Elasticsearch打造知识库检索系统

实战 | Elasticsearch打造知识库检索系统

数据库开发技术 作者:铭毅天下 时间:2017-12-03 19:33:54 0 删除 编辑

题记

源自“死磕Elasticsearch”技术群里的讨论问题: 


——我想用es做个类似于知识库的东西,所以需要索引一些pdf、word之类的文件,这个你之前有试过吗?能给个方向吗?

我的思考如下:

1、pdf、Office类的文档如何被ES索引?

更确切的说,pdf、Office类文档(word,ppt,excel等)如何导入ES中。 
如图所示: 
 
问题转嫁为:如何将Office类文档、PDF文档导入ES建立索引,并提供全文检索服务?

2、Elasticsearch支持的最大待检索字段的长度是多大?

ES5.X版本以后,keyword支持的最大长度为32766个UTF-8字符,text对字符长度没有限制。 
设置ignore_above后,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。 

参考:http://t.cn/RYlEMgn

参考6.0官网解读:http://t.cn/RYlELoV

参考luncene7.1API: http://t.cn/RYWvuGl


3、Office&pdf文档存入Elastisearch注意问题清单

少废话,直接上图。 

4、解析实战代码


以上仅列举核心示例代码。

5、小结 
从功能和性能角度考量,建立知识库的建议如下: 
1)知识库的核心是数据导入ES,导入ES的核心是各种类型文档的解析; 
2)提前设定Mapping,定义好字段分词、不分词的策略; 
3)对于大于1MB一个字段的存储,建议使用fvh高亮方式,在Mapping中一并设置。

参考:

[1] Java读取Office文档参考:http://t.cn/RZsiHcY 
[2] Html2Md参考:http://t.cn/RYlEEoC 
[3] Pdf2Html参考:http://t.cn/zWgVuFv 
[4]OpenOffice参考:
http://t.cn/8sGyKZd



原文作者:铭毅天下Elasticsearch;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2017-08-25

  • 博文量
    424
  • 访问量
    177693