使用Elasticsearch7 java api实现pdf全文检索
Posted haizhongdenta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Elasticsearch7 java api实现pdf全文检索相关的知识,希望对你有一定的参考价值。
前提:pdf的内容是文字形式而不是图片形式!
一.方法
Elasticsearch实现pdf的全文检索,原理是将pdf转换为Base64,然后提取pdf的文字内容然后将其存储起来.
Elasticsearch已有相关Api提供,也给出了例子.链接如下:
我们来解读以下
那么获取那篇刚刚索引的数据,返回的json就为
其中content就是转换后的文字
注意,上述操作的前提之下是装了ingest-attachment插件,可以再es的根目录下直接运行下面的命令进行安装
二. Java Api 7.0的实现
我pdf都存储在远程服务器上,以https://*******.pdf路径进行存储着,所以如果你跟我一样,必须先根据http链接获取这个pdf然后转换为Base64,代码如下
这个代码你放在一个Util类中直接调用就行,如果你是pdf存储在本地,直接通过File获取然后转换,网上有很多,在这就不说了.
然后我们就可以将其存在一个pdf的索引中,但是别忘记指定管道
这样我们就对pdf的内容进行提取然后索引到Elasticsearch中了.后面怎么搜索就不要再说了
这里我只贴出了关键代码,如果有什么不懂的或者是有什么错误,请在文章的评论下方指出来
以上是关于使用Elasticsearch7 java api实现pdf全文检索的主要内容,如果未能解决你的问题,请参考以下文章