2015-07-28 25 views
2

我使用elasticsearch映射器,附件插件從文件中讀取數據,以獲得elasticsearch突出顯示的字段中的文件確切頁碼和行號。有什麼方法可以獲得突出顯示的字段的確切頁碼和行號?我目前的索引映射如下。如何使用elasticsearch映射器,附件插件

{ 
    "type_name" : { 
      "content" : {"term_vector" : "with_positions_offsets"} 
    } 
} 
+0

根據[本次公開發行(https://github.com/elastic/elasticsearch-mapper-attachments/issues/135),我不認爲這是目前可能。 – Val

+0

謝謝@Val。在搜索並瀏覽大量文檔之後,我認爲目前還不可能。 –

回答

0

我已經在Mapper Attachments插件中挖了一些東西,我發現它非常不靈活和不夠用。您也在混合關注(索引/文本提取),這會使性能調整更加複雜。

第一:安裝Tika並自己提取文本會更好(這也可能會提高性能,因爲您不是通過HTTP將大型base64編碼BLOB發送到ES,而是保留單獨的堆/處理文本提取目的)。

二:Is it possible to extract text by page for word/pdf files using Apache Tika?

三:可能,指數每一頁作爲一個獨立的字段(例如「pdf_page_1」,「pdf_page_2」等),那麼你也許會回來的字段名稱爲每個命中於是乎能夠檢索您的匹配的頁碼。

另一個可能更靈活的解決方案是:a)將您的文檔與PDF文件內容一起索引到一個字段(數組)中,如pdf_contents:[「here here page 1」,「here here page 2」] ,和b)爲pdf文件內容創建一個單獨的索引,將每個頁面索引爲單獨的文檔,包括頁碼的字段。

然後執行一個查詢你的「規範」的結果列表,當你有命中,做PDF文件上的內容索引後續查詢,在結果列表中過濾出這些文件沒有。