使用Elasticsearch7 java api實現pdf全文檢索
- 2019 年 10 月 3 日
- 筆記
前提: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中了.後面怎麼搜索就不要再說了
這裡我只貼出了關鍵代碼,如果有什麼不懂的或者是有什麼錯誤,請在文章的評論下方指出來