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

robinent
发布于 2022-4-28 15:03
浏览
0收藏

题记

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

实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区我的思考如下:

 

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

实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

问题转嫁为:如何将Office类文档、PDF文档导入ES建立索引,并提供全文检索服务?

 

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


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

 

实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

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


少废话,直接上图。 
 实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

4、解析实战代码
 实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

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

实战 | Elasticsearch打造知识库检索系统-鸿蒙开发者社区

5、小结 


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

分类
收藏
回复
举报
回复
    相关推荐