< 返回上層頁面
模式表格全面翻新
DocFetcher Pro的建索引對話方塊和 DocFetcher Server的建索引面板中的模式表格與 DocFetcher中的模式表格有以下不同之處:
- 除了正規表示式之外,您還可以使用功能較弱但更簡單的萬用字元*和?來編寫匹配規則。萬用字元*是零個或多個字元的預留位置,而萬用字元?是正好一個字元的預留位置。
- 除了「排除」動作之外,還新增了「包含」動作。
- 「偵測MIME類型」動作已移除。如果您想將沒有副檔名的檔案作為文字檔案來建立索引,請使用模式表格下方相同說明的核取方塊。
- 匹配可以區分大小寫或不區分大小寫。另一方面,在 DocFetcher中,匹配始終區分大小寫。
- 匹配不僅可以針對一般檔案執行,還可以針對資料夾和封存檔案執行。
- 在 Windows上,當規則與檔案路徑匹配時,後者將使用字元\作為路徑分隔符,而不是字元/。範例:C:\路徑\到\檔案.docx,而不是C:/路徑/到/檔案.docx。
因此,DocFetcher Pro中的模式表格如下所示:

DocFetcher Server中的模式表格看起來相同,但表格下方的「選取的樣式符合下列文件」測試小工具目前不可用。 Server Not available in DocFetcher Server
按一下此處可詳細討論 DocFetcher、DocFetcher Pro 和 DocFetcher Server 中的模式表格。
以下是 DocFetcher Pro和 DocFetcher Server中模式表格全面翻新的由來。讓我們從頭說起:在 DocFetcher的建索引對話方塊中,有一個模式表格,用於在建索引期間對符合特定模式的檔案執行某些動作:

模式需要是所謂的正規表示式,至於動作,DocFetcher中有兩種可用:從索引中排除匹配的檔案,以及「MIME類型偵測」,即嘗試根據檔案內容而不是檔名來猜測解析匹配檔案的正確方法。到目前為止,一切順利。然而,在實踐中,上述實作存在一些問題:
- 很少有人知道如何編寫正規表示式。
- 有時人們只想為某些檔案建立索引,而不想在其他任何東西上浪費索引時間。例如,只為「txt」檔案建立索引,其他一概不理。DocFetcher實際上可以做到這一點,但這涉及一些相當進階的正規表示式技巧。
- 有時人們希望從索引中排除所有符合某個模式的檔案,除了所有符合某個其他模式的檔案。例如,從索引中排除所有 PDF檔案,除了名稱以「report_」開頭的 PDF檔案。同樣,在 DocFetcher中,這需要進階使用正規表示式。
- 一般來說,MIME類型偵測非常沒有用,因為:(1)副檔名幾乎總是正確的,因此在大多數情況下,這就是確定檔案格式所需的全部資訊。(2)當副檔名不正確且需要 MIME類型偵測時,後者結果也不是特別可靠。(3)沒有人會費心去寫匹配規則,也不知道如何為那些真正需要 MIME類型偵測的罕見情況編寫匹配規則。然而,在 DocFetcher的背景下,事實證明 MIME類型偵測確實有一個重要的使用案例:讓程式將沒有副檔名的檔案視為純文字檔案,例如名為README的檔案。然而然而,要做到這一點,需要編寫這個晦澀的正規表示式:[^.]*
- 如果檔案包含一些二進位資料,MIME類型偵測可能會無法將檔案識別為純文字。
- 由於 DocFetcher的可攜式版本必須在所有支援的平台上執行,因此在將規則與檔案路徑匹配時,後者始終使用字元/作為路徑分隔符,即使在 Windows上也是如此,這對大多數 Windows使用者來說相當不直觀。
長話短說,DocFetcher的模式表格一團糟,而 DocFetcher Pro附帶的重寫是一個很好的機會來清理這一切:
- 新增了萬用字元並設定為預設值,這樣即使是普通人現在也可以編寫匹配規則。
- 「包含」動作涵蓋了兩種情況:一種是只想為特定類型的檔案建立索引,另一種是想為匹配規則定義例外。現在甚至可以設定例外的例外。
- 一般無用的「偵測MIME類型」動作已移除,其主要使用案例,即將沒有副檔名的檔案作為文字檔案建立索引,由模式表格下方的一個簡單核取方塊涵蓋。而且即使檔案包含一些二進位資料,這個核取方塊也能正常運作。
- Windows路徑分隔符問題已修正。
- 並且為求完善,還加入了一些其他東西(區分大小寫以及與檔案/資料夾/封存匹配)。
載入和儲存索引設定
注意:此功能目前僅在 DocFetcher Pro中可用,在 DocFetcher Server中不可用。 Server Not available in DocFetcher Server
問題:在 DocFetcher中,每次建立新索引時,都必須逐一在模式表格中輸入所有規則。如果您有很多這樣的規則,這會變得非常繁瑣。根本沒有辦法載入和儲存它們。

在 DocFetcher Pro中,上述問題的解決方法如下:在 DocFetcher Pro的索引對話方塊的右上角,有一個不起眼的小「帶有文件的罐子」按鈕。按一下此按鈕會開啟一個選單,其中包含用於載入和儲存索引設定的各種動作:

按一下「儲存設定」會開啟此對話方塊:

基本上,您可以使用此對話方塊將目前可見的索引設定儲存到一個新的命名位置,例如「我的新索引設定」,或將目前可見的索引設定儲存為新的預設值。
此預設值稱為「自定义默认設定」,在建立新索引時會自動載入。還有一個「出厂默认設定」,這是 DocFetcher Pro開箱即用的預設值。您建立的命名設定,即「自定义默认設定」和「出厂默认設定」,都可以透過上面顯示的選單載入。
最後,該選單還允許您匯入和匯出所有索引設定,以便在新的環境中設定 DocFetcher Pro時可以重複使用它們。
其他值得注意的改進
FB2支援:DocFetcher Pro和 DocFetcher Server支援電子書格式 FB2。Zip壓縮的 FB2檔案,副檔名為 fb2.zip或 fbz,是「原生」支援的,也就是說,DocFetcher Pro和 DocFetcher Server將每個這樣的檔案視為單一檔案,而不是包裝在 zip封存中的檔案。
實驗性 Mobipocket支援:DocFetcher Pro和 DocFetcher Server支援電子書格式 Mobipocket,副檔名為「mobi」。但是,請注意,雖然 DocFetcher Pro和 DocFetcher Server整體上在從 mobi檔案中擷取文字方面做得很好,但它們目前要麼無法擷取檔案末尾的一小部分文字,要麼在某些情況下完全失敗。因此,Mobipocket支援目前標記為實驗性。
目前 v0.4格式的 7z封存支援:DocFetcher可以讀取高達 v0.3版本的 7z封存格式。DocFetcher Pro和 DocFetcher Server也可以讀取目前 v0.4格式的 7z封存。此 v0.4格式是在 2014-11-23發布的 7-Zip 9.34中引入的。
擴充的 tar封存支援:DocFetcher支援以下 tar封存副檔名:tar、tar.gz、tgz、tar.bz2、tb2、tbz。DocFetcher Pro和 DocFetcher Server還額外支援以下 tar封存副檔名:tbz2、tar.lzma、tlz、tar.xz、txz、tar.z、tz
索引資料夾和封存名稱:與 DocFetcher不同,DocFetcher Pro和 DocFetcher Server不僅索引一般檔案,還索引資料夾和封存檔案 — 或者更準確地說,是資料夾和封存檔案的名稱。因此,資料夾和封存檔案將顯示在 DocFetcher Pro和 DocFetcher Server的搜尋結果中。主應用程式視窗左側還有一個容器類型面板,可從搜尋結果中排除資料夾和/或封存。

MacOS:用於自動索引更新的守護程式:DocFetcher和 DocFetcher Pro能夠自動索引更新,也就是說,不必手動啟動索引更新,只要偵測到檔案變更,程式就會啟動索引更新。但是,此功能僅在這兩個程式實際執行時可用。當它們未執行時,需要一個單獨的守護程式程序來填補空白。在 DocFetcher中,守護程式僅在 Windows和 Linux上可用,而在 DocFetcher Pro中,它在 macOS上也可用。至於 DocFetcher Server,則不需要守護程式,因為伺服器設計為連續執行。 Server Not available in DocFetcher Server
更智慧的檔名索引:DocFetcher Pro和 DocFetcher Server中的檔名索引比 DocFetcher更智慧。例如,如果 DocFetcher遇到一個名為find_this_file.pdf的檔案,它會將「find_this_file」視為一個單字,而不是三個串連在一起的獨立單字。因此,只有當您在 DocFetcher的搜尋欄位中逐字輸入「find_this_file」時,DocFetcher才會找到此檔案。另一方面,如果您輸入「尋找_這個_檔案」或三個單獨單字中的任何一個,DocFetcher Pro和 DocFetcher Server都會找到該檔案。一般來說,DocFetcher Pro和 DocFetcher Server所做的是將底線之類的字元識別為潛在的單字分隔符。

發生錯誤時的檔名索引:如果 DocFetcher Pro和 DocFetcher Server因某些錯誤或密碼保護而無法讀取檔案內容,檔名仍會被索引。另一方面,在 DocFetcher中,該檔案會被完全跳過。
深度巢狀資料夾結構不會出錯:當嘗試索引深度巢狀的資料夾結構時,例如C:\資料夾1\資料夾2\...\資料夾99\資料夾100,DocFetcher很容易因「資料夾層級太深」錯誤而失敗。用程式設計師的術語來說,這稱為「堆疊溢位」。另一方面,DocFetcher Pro和 DocFetcher Server完全不受此類錯誤的影響。
CSV匯出索引錯誤:在 DocFetcher Pro中,您可以將程式在索引期間無法讀取的檔案表格匯出為 CSV檔案。這可以透過錯誤表格的內容選單來完成,如下面的螢幕截圖所示。此功能目前在 DocFetcher Server中不可用。 Server Not available in DocFetcher Server

無需重建索引即可開啟和關閉資料夾監控:DocFetcher的「監控資料夾內檔案變動」設定,也稱為資料夾監控,是一個按索引設定的設定,開啟後,程式會在偵測到索引資料夾中的檔案變更時自動更新索引。問題是,如果您想在特定索引上開啟或關閉此設定,則必須重建整個索引。在 DocFetcher Pro中,您可以無需重建索引即可開啟和關閉此設定,方法是透過「搜尋範圍」面板的內容選單。此外,該設定已重新命名為「自動更新索引」。DocFetcher Server中也存在類似的功能。

同時搜尋和重建索引:在 DocFetcher中,如果您選擇重建索引,則在重建過程中該索引將無法用於搜尋。另一方面,在 DocFetcher Pro和 DocFetcher Server中,索引在重建期間仍可搜尋。(更準確地說,在實際索引在背景中重建時,索引的舊副本仍可搜尋。)
Windows:修正了 UNC路徑的處理:在 DocFetcher中,Windows上 UNC路徑的處理嚴重損壞,並在 DocFetcher Pro中從頭開始重新設計。然後將重新設計移植到 DocFetcher Server。
非強制回應索引對話方塊:與 DocFetcher的索引對話方塊相比,DocFetcher Pro中的對話方塊是「非強制回應」的,這意味著它未附加到主程式視窗,並且在開啟時不會阻止對主程式視窗的輸入。這樣做的主要好處是,在索引程序執行時,您可以最小化主程式視窗,但保持索引對話方塊可見並停靠在側面。這使您可以在其他應用程式中工作時密切關注索引程序。此功能不適用於 DocFetcher Server。 Server Not available in DocFetcher Server

索引後播放聲音:預設情況下,DocFetcher Pro在索引後會播放「完成」的聲音。這可以在偏好設定中關閉。此功能目前在 DocFetcher Server中不可用。 Server Not available in DocFetcher Server

索引日文文字:DocFetcher有一個所謂的「分詞」選項,可在索引中文文字時獲得可用的搜尋結果。DocFetcher Pro有一個額外的分詞選項,用於處理日文文字。中文和日文分詞目前在 DocFetcher Server中都不可用。 Server Not available in DocFetcher Server