ES 检索 word、pdf 文档插件 ingest attachment 的管道配置和文档结构映射
一、安装 ingest attachment 插件
安装方法:https://blog.csdn.net/catoop/article/details/124468788
二、定义文本抽取管道
1.单附件(示例)
PUT _ingest/pipeline/attachment
{"description": "Extract attachment information","processors": [{"attachment": {"field": "data","ignore_missing": true}},{"remove": {"field": "data",}}]
}
其中remove段的配置表示附件经过管道处理后删除附件本身,只将附件的文字存入ES中,附件自身base64的数据抛弃掉。
2.多附件(示例)
PUT _ingest/pipeline/attachment
{"description": "Extract attachment information","processors": [{"foreach": {"field": "attachments","processor": {"attachment": {"field": "_ingest._value.data","target_field": "_ingest._value.attachment"}}}},{"foreach": {"field": "attachments","processor": {"remove": {"field": "_ingest._value.data","target_field": "_ingest._value.attachment"}}}}]
}
需要注意的是,多附件的情况下,field 和 target_field 必须要写成 _ingest._value.*,否则不能匹配正确的字段。
从 es 8.0 版本开始,需要删除二进制文件内容,只需要为 attachment 添加一个属性remove_binary 为 true
,就不需要像上面那样单独写一个 remove 处理器了。
三、建立文档结构映射
1.单附件(示例)
PUT newdoc_dispatch
{"mappings": {"properties": {"businessId":{"type": "keyword"},"title":{"type": "text","analyzer": "ik_smart"},"fullDocNO":{"type": "text","analyzer": "ik_smart"},"drafterUser":{"type": "keyword"},"dispatchNO":{"type": "text","analyzer": "ik_smart"},"dispatchDept":{"type": "keyword"},"dispatchTime":{"type": "date"},"abolish":{"type": "keyword"},"tenantId":{"type": "keyword"},"attachment": {"properties": {"content":{"type": "text","analyzer": "ik_smart"}}}}}
}
2.多附件(示例)
PUT newdoc_dispatch
{"mappings": {"properties": {"businessId":{"type": "keyword"},"title":{"type": "text","analyzer": "ik_smart"},"fullDocNO":{"type": "text","analyzer": "ik_smart"},"drafterUser":{"type": "keyword"},"dispatchNO":{"type": "text","analyzer": "ik_smart"},"dispatchDept":{"type": "keyword"},"dispatchTime":{"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"},"abolish":{"type": "keyword"},"tenantid":{"type": "keyword"},"attachments" : {"properties" : {"attachment" : {"properties" : {"content" : {"type" : "text","analyzer": "ik_smart"}}} }}}}
}
工程中的代码是多附件的示例,mapping结构映射的对象详见ESDispatchDocumentVo
官网参考资料:https://www.elastic.co/guide/en/elasticsearch/plugins/current/using-ingest-attachment.html
其他参考资料:https://www.cnblogs.com/ncore/p/10475909.html
代码工程参考:https://gitee.com/catoop/es-attachment
(END)
ES 检索 word、pdf 文档插件 ingest attachment 的管道配置和文档结构映射相关推荐
- 【ElasticSearch】检索word pdf插件ingest attachment的管道配置
文章目录 单附件: 1.创建管道single_attachment 定义文本抽取管道 2.创建index 创建索引库 3.索引数据 插入word文档 4.查询 查询所有 多附件: 1.创建管道sing ...
- 图片识别文字OCR-制作可检索的PDF文档
好友发了个链接 怎样快速扫描一本书并做成电子版? 让我帮忙看看怎么把一本纸质书制作成可检索的PDF文档,他想用移动工具学习那本书,于是实践后整理出下面步骤. 操作系统:win10+ubuntu16.0 ...
- Elasticsearch 文档内容检索插件 ingest attachment 安装
Ingest Attachment Processor Plugin 是一个文本抽取插件,本质上是利用了 Elasticsearch的ingest node功能,提供了关键的预处理器 attachme ...
- ES检索多个文档Mget
像Elasticsearch一样,检索多个文档依旧非常快.合并多个请求可以避免每个请求单独的网络开销.如果你需要从Elasticsearch中检索多个文档,相对于一个一个的检索,更快的方式是在一个请求 ...
- Python读取PDF文档(或TXT)
字符串在Python内部的表示是Unicode编码,首先我们来认识Python中encode()和decode()的作用与区别: 在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的 ...
- 面向开放域密集检索多视图文档表示学习,微软提出MVR,性能SOTA!(ACL 2022)...
关注公众号,发现CV技术之美 本文分享 ACL 2022 论文『Multi-View Document Representation Learning for Open-Domain Dense Re ...
- 18-关系型数据和文档型数据库有什么区别?
关系数据库(Relational Database)是建立在关系模型基础上的数据库,借助于几何代数等数学概念和方法来处理数据库中的数据.所谓关系模型是一对一.一对多或者多对多等关系,常见的关系型数据库 ...
- mac icloud 桌面_如何使用iCloud将Mac的桌面和文档同步到其他设备
mac icloud 桌面 Over time, your Mac has inevitably amassed a lot of files in the Desktop and Documents ...
- java实现word文档转换pdf文档并且添加水印功能使用插件Aspose.Words
前段时间,项目需要自动生成word文档,用WordFreeMarker生成word文档后,又要求生成的文档能在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研究了一下. 将word文档转 ...
最新文章
- linux 单独取出本机IP地址
- python入门之函数调用第一关_零基础学习 Python 之与函数的初次相见
- mysql pow函数怎么用_pow函数怎么用
- 曾辉机器人_武昌理工学子在2020年中国机器人大赛中夺冠
- 线性结构 —— 分块算法 —— 分块九讲
- 前端框架Vue(3)——vue-cli 目录结构
- fiddler看ip地址_Fiddler查看IP和响应时间
- BIN转HEX,HEX转BIN,互相转换工具,PIC
- LiveData的postValue与setValue多次调用问题
- uni-app小程序与app端的兼容问题
- mysql dual表用法_详解Oracle数据库中DUAL表的使用
- 【微信小程序】小程序调起付款码
- 有一个已排好序的数组,要求输入一个数后,按原来排序规律将他插入数组。
- html表格怎么取消自动换行,css怎么控制表格不要自动换行?
- u盘/移动硬盘的视频文件出现损坏怎么办?修复损坏视频办法分享!
- 【深度长文】循序渐进解读Oracle AWR性能分析报告
- Component属性
- NavigationController 常用方法归总
- alias linux 执行命令,Linux系统alias命令编写实现命令别名方法介绍
- vue-cli使用ESLint记录