德扑之星有限公司官方网站

文檔資源庫建設웃유ღ♋♂,搜索引擎如何搜索文件的內容ⓣⓤⓥⓦⓧⓨⓩ?

 

我們之前有幾篇文章☾☽❄☃,介紹了如何構建資源庫以及電子文檔數據庫①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,《圖書館多媒體電子資源庫建設方案》《文化遺產數據庫建設方案》㈠㈡㈢㈣㈤㈥㈦,那么在建設文檔資源庫或者電子資源庫中웃유ღ♋♂,如何檢索文件中的內容⒜⒝⒞⒟⒠⒡⒢⒣⒤,變成了一個重要的問題⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓。

 

 

搜索的本質

搜索✺ϟ☇♤♧♡♢♠♣♥,其實本質上是查字典✵✶✷✸✹✺✻✼❄❅。

所以✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,程序搜索和字典也是一樣⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,通常情況下⒜⒝⒞⒟⒠⒡⒢⒣⒤,要建立字典目錄ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,也就是索引☈⊙☉℃℉❅。

于是✵✶✷✸✹✺✻✼❄❅,步驟便是:1 分詞♀☿☼☀☁☂☄、2 索引ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ、3 檢索ⓣⓤⓥⓦⓧⓨⓩ。

但是文件的內容ⓣⓤⓥⓦⓧⓨⓩ,我們該如何搜索ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ?

其實本質上是一樣✺ϟ☇♤♧♡♢♠♣♥,我們的流程是分詞⒜⒝⒞⒟⒠⒡⒢⒣⒤、索引ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ、檢索㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,相當于加工->存儲->搜索ⓣⓤⓥⓦⓧⓨⓩ,如果要搜索文檔中內容ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,我們要做的只是在加工層面웃유ღ♋♂,將文檔的內容提取出來㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,然后進行分詞⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、索引❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣、檢索即可⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。

 

 

 

文檔內容的提取

那么首先⒜⒝⒞⒟⒠⒡⒢⒣⒤,我們就要進行文件提取❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,我們這里列舉一下常見文件提取工具✵✶✷✸✹✺✻✼❄❅,

    (1)Apache Tika APP

    (2)Apache Tika Server

    (3)The Solr built-in extractor

    (4)pdftotext for pdfs

    (5)python pdf2text for pdfs

    (6)golang docconv

上面的幾個㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,都是常見的文檔提取工具⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,我們就不做更深入的研究㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,如果要使用ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,大家Google一下㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,然后將對應的命令安裝上就可以⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

最終是通過Web調用這些命令❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,然后將文檔的內容提取出來♦☜☞☝✍☚☛☟✌✽✾✿❁❃,給分詞程序進行分詞웃유ღ♋♂,然后索引加工⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾。

 

 

檢索文檔內容

一旦索引入庫了①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,那么就沒有什么其他難點了⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,跟其他普通的檢索程序一樣❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,將對應的字段的內容ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,按照用戶輸入進行檢索㈠㈡㈢㈣㈤㈥㈦。下圖是一個Search API的架構웃유ღ♋♂,后臺的擴展性웃유ღ♋♂,解釋了如何架構一個靈活的搜索引擎ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

文檔索引

 

文檔圖片索引

 

 

如何通過開源的解決方案

我們采用開源的Drupal來構建文檔數據庫/電子資源數據庫❻❼❽❾❿⓫⓬⓭⓮⓯⓰,其實Drupal本身自帶了很多模塊㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,能夠自動完成將文檔里面的數據提取出來ⓣⓤⓥⓦⓧⓨⓩ,然后導入索引庫☧☬☸✡♁✙♆。,、':∶;,因此這些工作其實不用我們自己開發✵✶✷✸✹✺✻✼❄❅,推薦的模塊如下:

  1. Search API Attachement 
    https://www.drupal.org/project/search_api_attachments 
  2. File Extractor 
    https://www.drupal.org/project/file_extractor 

具體的工作原理跟我們上面講的是一樣ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,因此原理都是相通的ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,只是模塊直接幫我們處理了很多細碎的工作♦☜☞☝✍☚☛☟✌✽✾✿❁❃,比較比較方便使用ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,此外也是經過了很多改進以及Bug修復♀☿☼☀☁☂☄,相對來說㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,比較穩定웃유ღ♋♂。

此外①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,可以參考附件的Solr架構介紹的PDF文件ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,可以了解Solr更多的細節介紹㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。

 

更多方案介紹①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,可以參考我們的《文化數據庫方案介紹

更多技術資料⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,可以參考我們之前相關介紹文章⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,如果需要建設相關數據庫㈠㈡㈢㈣㈤㈥㈦,以及Drupal靈活的元數據/檢索/可視化構建演示或者資料⒜⒝⒞⒟⒠⒡⒢⒣⒤,可以聯系我們✵✶✷✸✹✺✻✼❄❅。

 

1❻❼❽❾❿⓫⓬⓭⓮⓯⓰、如何用開源的系統來構建知識庫平臺⑰⑱⑲⑳⓪⓿❶❷❸❹❺?

2⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯、如何基于開源系統構建資料庫/文檔庫平臺

3ⓣⓤⓥⓦⓧⓨⓩ、如何建設在線展覽和多媒體展覽❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣?

4☈⊙☉℃℉❅、CMS如何存儲和管理大量圖片/海量圖片⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯?

5㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、CMS如何做視頻管理♦☜☞☝✍☚☛☟✌✽✾✿❁❃?

6☧☬☸✡♁✙♆。,、':∶;、文檔資源庫建設之搜索引擎如何搜索文件的內容(pdf/wrod)㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂?

7♦☜☞☝✍☚☛☟✌✽✾✿❁❃、基于開源框架的特色數據庫/資源庫的構建方案

8☾☽❄☃、使用Phaser構建2D的在線展覽系統

9❻❼❽❾❿⓫⓬⓭⓮⓯⓰、Headless CMS:以API為輸出的內容系統的構建

10⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ、開源的CMS如何實現問卷調研❻❼❽❾❿⓫⓬⓭⓮⓯⓰?

 

 

 

 

 

附件

德扑之星官网下载 网站地图