elasticsearch导入pdf文件(非结构)以及导入json(结构化)
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

elasticsearch导入pdf文件(非结构)以及导入json(结构化)

yuc
yuc
2024-05-07 / 最后修改: 2024-05-07 03:18 / 0 评论 / 7 阅读 / 正在检测是否收录...
导入方法

因为pdf被索引后虽然能搜索到文档内容,但是这里的需求是能够返回文档的名字

  1. 使用循环计算出每个文件的md5值,然后同时插入文件的md5值和文件名到数据库中
  2. 达到这种效果之后还需要在索引文件的手动设置id,取md5值
  3. 到这里,当我们从elasticsearch的索引中查询关键字并且选择打开的时候,可以取其id值在数据库中查询到对应的文件名称,即可实现打开搜索内容也显示对应的文件名
需求

elasticsearch不支持还原pdf文件,所以,上面描述的打开,实际上是显示搜索到的内容,并不能真正打开搜索到关键字的整个文档 这里,我们可以通过两个办法来实现:

  1. 当选择需要打开的搜索内容的时候取其id值,然后再次通过id值搜索,可以得到整个pdf文件的base64编码,再通过base64解码后即可以还原文件,这种方案只是手动尝试过,并没有实现
  2. 把文件的md5值名称状态的文件放入目录中,当打开搜索到的内容的时候,取其md5值,去匹配文件夹中的所有文件,匹配得到则显示即可

pdf的内容可以和文件名称可以转换为json格式的文档,经过elasticsearch索引后即可搜索,目前的方案是抽取mysql数据库的值和字段

其他问题
  1. elasticsearch在导入的时候值内不能有换行符,即每个记录从第一个字段到最后一个字段只能是一行,要求每行之前必须有索引和关键字,id则不是必须
  2. 满足上面的条件后即可通过POST方法接--data-binary @FILEA_NAME来导入json文件到索引中

需要搜索中文,并且分词,一定要提前在字段中设置好

0

评论

博主关闭了当前页面的评论