ETD 指南/技術問題/Harvest 在德國和法國的使用
HARVEST 系統通常用於在 ETD 檔案中進行全文搜尋。在德國,大多數大學圖書館都在使用這種特定的軟體。
使用 Harvest 的前提條件
在安裝之前,應檢查以下技術前提條件是否已滿足。
硬體:
快速處理器(例如 Sparc5...)
快速 I/O
足夠的 RAM(> 64 MB) - 以及 1-2 GB 的可用磁碟空間(原始檔 25 MB)
支援的作業系統
DEC OSF/1 ab 2.0
SunOS ab 4.1.x
SunSolaris ab 2.3
HPUX
AIX ab 3.x
Linux 所有核心版本,從 1999 年起在所有 Unix 平臺上
WindowsNT
使用 Harvest 需要以下附加軟體
Perl v4.0 及更高版本 (v5.0)
gzip
tar
HTTP 伺服器(具有遠端機器)
GNU gcc v2.5.8 及更高版本
flex v2.4.7
bison v1.22
Harvest 元件
Harvest 系統由兩個主要元件組成
Harvest 收集器
Harvest 代理。
這允許建立一個分散式的檢索和搜尋模型。
安裝步驟 (ftp://ftp.tardis.ed.ac.uk/pub/harvest/develop/snapshots/ )
收集器
這部分程式負責收集論文的全文和元資料。收集器定期訪問多個站點,有時每天或每週,並建立一個增量索引區域資料庫。收集的索引資料以一種稱為 SOIF 格式(摘要物件交換格式)的特殊格式儲存。收集器可以擴充套件,以便它可以解釋不同的格式。
代理
這部分軟體負責使用搜索介面提供索引資訊。代理充當查詢管理器並進行資料的實際索引。使用基於 Web 的介面,它可以同時訪問多個收集器和代理,並執行多個搜尋請求。
在德國,已經建立了一個基於 Harvest 軟體的德國範圍內的檢索介面,稱為 TheO(Theses Online Broker),可以透過以下網址訪問:
http://www.iuk-initiative.org/iwi/TheO
在 NDLTD 中,已經建立了一個特殊的代理,用於將使用 Harvest 的德國站點新增到國際搜尋中。
Harvest 能夠在以下文件格式中進行搜尋
| C、C 標頭檔案 | 提取過程名稱、包含的檔名和註釋 |
| Dvi | 在提取的 ASCII 文字上呼叫文字摘要器 |
| FAQ、全文、README | 提取檔案中的所有單詞 |
| Framemaker | 向上轉換到 SGML 並透過 SGML 摘要器 |
| HTML | 向上轉換到 SGML 並透過 SGML 摘要器 |
| LaTex | 解析選定的 LaTex 欄位(作者、標題等) |
| Makefile | 提取註釋和目標名稱 |
| 手冊頁 | 提取概要、作者、標題等,基於 `-man'` |
| 新聞 | 提取某些標題欄位 |
| 補丁 | 提取修補的檔名 |
| Perl | 提取過程名稱和註釋 |
| PostScript | 以特定於字處理器的格式提取文字,並透過文字摘要器。 |
| RTF | 向上轉換到 SGML 並透過 SGML 摘要器 |
| SGML | 提取提取表中命名的欄位 |
| 原始碼分發 | 提取 README 檔案的全文以及 Makefile 和原始碼檔案的註釋,並總結任何手冊頁 |
| Tex | 在提取的 ASCII 文字上呼叫文字摘要器 |
| 文字 | 提取前 100 行加上每個剩餘段落的第一個句子 |
| Troff | 提取作者、標題等,基於 `-man''`、`-ms''`、`-me''` 宏包,或提取章節標題和主題句 |
| 無法識別 | 提取檔名、所有者和建立時間 |
PDF 檔案的配置
在 Harvest 收集器可以收集 PDF 文件並將其轉換為 SOIF 格式之前,它必須進行配置。
僅使用標準配置會忽略格式。為了使收集器識別一種格式,必須構建一個用於 PDF 的摘要器
刪除檔案 /lib/gatherer/byname.cf 中的以下行:
Pdf ^.*\.(pdf|PDF)$
配置 PDF 摘要器。使用 Acrobat 將 PDF 文件轉換為 PS 文件,這些文件由摘要器使用。一個更好的選擇是 Derek B. Noonburg 提供的 xpdf 包 (http://www.foolabs.com/xpdf )。它包含一個 PDF 到文字轉換器 (pdftotext),可以整合到 summerizer Pdf.sum 中
/usr/local/bin/pdftotext $1
/tmp/$$.txt Text.sum
/tmp/$$.txt rm /tmp/$$.txt
為 HTML 元資料配置收集器
Harvest 收集器預設配置為將每個 HTML 元標籤對映到一個 SOIF 屬性,例如 <META NAME="DC.Title" CONTENT="Test"> 對映到一個與元標籤的 NAME 屬性相等的 SOIF 屬性。配置可以在以下位置找到:
<harvest home>/lib/gatherer/sgmls-lib/HTML/HTML.sum.tbl
摘要器表包含這樣的條目
<META:CONTENT> $NAME 如果只在 HTML 元標籤中進行檢索,這意味著在某些 SOIF 屬性中,這些屬性必須放在搜尋請求之前,並放在提供給使用者的檢索表單中,例如:
DC.Title: Test
搜尋 HTML 中編碼的元資料
由於在德國,ETD 存在全國範圍內的統一元資料集,因此可以在德國範圍內的 Harvest 網路中搜索這些元資料。
以下示例顯示了這些 Dublin Core 元資料(僅顯示一小部分)如何在 ETD 的 HTML 首頁中編碼:
<META NAME="DC.Type" CONTENT="Text.PhDThesis"> <META NAME="DC.Title" LANG="ger" CONTENT="Titelseite: Ergebnisse der CT- Angiographie bei der Diagnostik von Nierenarterienstenosen"> <META NAME="DC.Creator.PersonalName" CONTENT="Ludewig, Stefan"> <META NAME="DC.Contributor.Referee" CONTENT="Prof. Dr. med. K.- J. Wolf"> <META NAME="DC.Contributor.Referee" CONTENT="Prof. Dr. med. B. Hamm"> <META NAME="DC.Contributor.Referee" CONTENT="PD Dr. med. S. Mutze">
對於此統一的元資料集,已經制定了一項建議,說明如何生成和操作大學圖書館的元資料。以下模式顯示了詳細資訊:博士生將他的 ETD 文件上傳到圖書館。他這樣做時,會填寫一個 HTML 表單,該表單在內部以 Dublin Core 格式收集元資料。大學圖書館檢查元資料的正確性以及 ETD 的可讀性和樣式表的使用情況。大學圖書館在元資料集中新增一些描述性元資料,並在其伺服器上釋出 ETD 的展示版本。在此過程中,會建立一個包含以 HTML 編碼的 Dublin Core 元資料的 HTML 格式頁面
最後,大學圖書館將元資料提交給國家圖書館,國家圖書館負責存檔所有德語文獻。
國家圖書館將 ETD 和元資料複製到自己的內部系統中。
搜尋 SGML/XML 文件
Harvest 還允許在 SGML/XML DTD(文件型別定義)元素中進行搜尋。
為了根據以下規則配置收集器元件,所有需要做的事情是
在 Harvest 軟體的 home 目錄(寫為 <harvest-home>)中,在 /lib/gatherer/byname.cf 中新增一行:DIML ^.*\.did$。(DiML 是洪堡大學使用的 DTD,did 是根據 DIML-DTD 的 SGML 文件檔名)。這告訴 Harvest 收集器,如果找到以 .did 結尾的文件,應該使用哪個摘要器。
現在,摘要器必須構建並儲存為 DIML.sum,位於 <harvest-home>/lib/gatherer 中的檔案系統中:(摘要器包含以下行:#!/bin/sh exec SGML.sum ETD $*
在目錄檔案 <harvest-home>/lib/gatherer/sgmls-lib/catalog 中,必須進行以下條目:(它們指向 DIML 的公共識別符號以及從 DIML 使用的 DTV)
DOCTYPE ETD DIML/diml2_0.dtd
PUBLIC "-//HUB//DTD Electronic Thesis and Dissertations Version DiML 2.0//EN" DIML/diml2_0.dtd
PUBLIC "-//HUB//DTD Cals-Table-Model//EN" DIML/cals_tbl.dtd
PUBLIC "-//HUBspec//ENTITIES Special Symbols//EN" DIML/dimlspec.ent
現在可以建立 <harvest-home>/lib/gatherer/lib/sgmls-lib/DIML(mkdir <path>),並將四個檔案複製到路徑中
diml2_0.dtd、cals_tbl.dtd、dimlspec.ent 和 diml2_0.sum.tbl(DTD、實體檔案和摘要器表)。diml2_0.sum.tbl 檔案包含要搜尋的 DTD 標籤以及相應的 SOIF 屬性
現在可以啟動收集器。
為了在某些 SOIF 標籤中搜索,必須將 SOIF 屬性的名稱放在搜尋詞之前,例如,搜尋“title: Hallo”意味著在 SOIF 屬性“title”中搜索搜尋詞“Hallo”。
在柏林洪堡大學,已經安裝了一個原型,它允許在文件結構中進行檢索,因此使用者可以在文件的以下部分中進行搜尋,從而專門化搜尋,以便僅檢索所需的 資訊和匹配項
- 全文(在全文中)
- 按作者(按作者)
- 在標題中(在標題中)
- 在摘要中(在摘要中)
- 在作者關鍵字中(在作者關鍵詞中)
- 按機構/學科(按機構/學科)
- 按審批人(按審批人)
- 章節標題(標題)
- 圖片標題(在圖片標題中)
- 在表格中(在表格中)
- 在參考文獻中(在參考文獻中)
- 按參考文獻中的作者名稱(按參考文獻中的作者)
Harvest 和 OAI
隨著人們對開放檔案倡議方法的熱情日益高漲,其中一個特殊的 OAI 軟體協議允許向文件檔案發送請求並接收標準化的元資料集作為答案,人們開始思考如何將這種方法與德國已經建立的基於 Harvest 的基礎設施聯絡起來。
使 Harvest 檔案符合 OAI 標準意味著必須規範化收集器持有的資訊(使用相同的元資料)並將索引臨時儲存到資料庫中。德國奧爾登堡大學物理系科學網路研究所開發了以下軟體。該軟體用 php4 編寫,使用 SQL 資料庫來執行 OAI 協議請求。SQL 資料庫儲存來自 Harvest 收集器的規範化資料。
其他大學的文件伺服器,例如洪堡大學的伺服器,通常將 Dublin Core 元資料儲存在 SQL 資料庫(Sybase)中。一個執行在 cgi 介面的 php4 指令碼會讀取透過 HTTP 協議傳輸的 OAI 協議請求,並將它們轉換為 SQL 語句,然後用作對 SQL 資料庫的請求。資料庫的響應也以 SQL 語法給出,然後使用 XML 和 Dublin Core 轉換為 OAI 協議語法。(參見 http://edoc.hu-berlin.de/oai)
下一節:NDLTD 聯合目錄







