題記
源自“死磕Elasticsearch”技術(shù)群里的討論問題: ——我想用es做個類似于知識庫的東西,所以需要索引一些pdf、word之類的文件,,這個你之前有試過嗎,?能給個方向嗎?
我的思考如下: 1,、pdf,、Office類的文檔如何被ES索引?更確切的說,,pdf,、Office類文檔(word,ppt,,excel等)如何導(dǎo)入ES中,。 如圖所示: 問題轉(zhuǎn)嫁為:如何將Office類文檔、PDF文檔導(dǎo)入ES建立索引,,并提供全文檢索服務(wù),? 2、Elasticsearch支持的最大待檢索字段的長度是多大,?ES5.X版本以后,,keyword支持的最大長度為32766個UTF-8字符,text對字符長度沒有限制,。 設(shè)置ignore_above后,,超過給定長度后的數(shù)據(jù)將不被索引,無法通過term精確匹配檢索返回結(jié)果,。 參考:http:///RYlEMgn 參考6.0官網(wǎng)解讀:http:///RYlELoV 參考luncene7.1API: http:///RYWvuGl
3,、Office&pdf文檔存入Elastisearch注意問題清單少廢話,直接上圖,。
4,、解析實戰(zhàn)代碼以上僅列舉核心示例代碼。 5,、小結(jié) 從功能和性能角度考量,,建立知識庫的建議如下: 1)知識庫的核心是數(shù)據(jù)導(dǎo)入ES,,導(dǎo)入ES的核心是各種類型文檔的解析; 2)提前設(shè)定Mapping,,定義好字段分詞,、不分詞的策略; 3)對于大于1MB一個字段的存儲,,建議使用fvh高亮方式,,在Mapping中一并設(shè)置。 參考:[1] Java讀取Office文檔參考:http:///RZsiHcY [2] Html2Md參考:http:///RYlEEoC [3] Pdf2Html參考:http:///zWgVuFv [4]OpenOffice參考:http:///8sGyKZd
|