部署 Microsoft Windows File Systems 連接器

您可以設定 Google Cloud Search,除了 Google Workspace 內容外,也從貴機構的 Microsoft Windows 共用資料夾傳回結果。您可以使用 Cloud Search 檔案系統連接器,並設定該連接器來存取指定的 Windows 共用資料夾。單一連接器執行個體可支援多個 Microsoft Windows 共用資料夾。

重要注意事項

部署檔案系統連接器前,請先詳閱下列注意事項。

持續自動更新

根據預設,連接器啟動時會持續監控啟動路徑 (來自設定檔中 fs.src 的值)。當檔案系統回報內容或存取權控管的變更時,連接器會重新檢索檔案系統。重新檢索可能會耗用大量資源。如要關閉監控功能,請將 fs.monitorForUpdates 設為 false。這項設定可減少資源用量,但連接器反映變更的時間會延後。瞭解詳情

DFS 存取控管

DFS 系統會對連結套用存取控制,通常每個 DFS 連結都有自己的 ACL。DFS 會使用以存取權為依據的列舉 (ABE) 功能,限制傳回給使用者的連結。當 ABE 隔離主目錄時,使用者可能只會看到部分 DFS 連結或只有一個連結。在 DFS 系統中遍歷時,連接器會遵守 DFS 連結 ACL 和目標的共用 ACL;共用 ACL 會從 DFS ACL 繼承。

已知限制

本節列出檔案系統連接器的已知限制。

  • 檔案系統:連接器不支援對應或本機磁碟機。
  • 分散式檔案系統:對應至 UNC DFS 的磁碟機無法正常運作,且可能無法正確讀取部分 ACL。
  • 連接器支援 DFS 命名空間和連結,但不支援 DFS 命名空間中的一般資料夾。
  • 在大多數瀏覽器中,cloudsearch.google.com 中的檔案連結或查詢 API 傳回的檔案連結都無法點選。

系統需求

部署 File Systems 連接器前,請確認主機符合下列需求:

系統需求
作業系統
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
軟體
  • 在執行連接器的電腦上安裝 Java JRE 1.8
檔案系統通訊協定
  • 伺服器訊息區塊 (SMB) - SMB1
  • 伺服器訊息區塊 (SMB) - SMB2
  • 分散式檔案系統 (DFS)

不支援:本機 Windows 檔案系統、NFS 2.0、NFS 3.0 或本機 Linux 檔案系統。

部署連接器

請按照下列步驟部署 File Systems 連接器。

必要條件

部署連接器前,請確認環境具備下列元件:

Microsoft Windows 帳戶的必要權限

執行連接器的 Windows 帳戶必須具備下列權限:

  • 列出資料夾內容。
  • 讀取文件內容。
  • 讀取檔案和資料夾屬性。
  • 檔案和資料夾的讀取權限 (ACL)。
  • 撰寫基本屬性。

加入下列任一群組通常會授予足夠的權限:管理員、進階使用者、列印作業員或伺服器作業員。

步驟 1:安裝連接器

從 GitHub 下載或複製連接器存放區,然後建構連接器套件。

  1. 從 GitHub 取得連接器存放區並建構。

    如要在 Windows 伺服器上使用 Git,請按照下列步驟操作:

    > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
    > cd windows-filesystems-connector
    > git checkout tags/v1-0.0.3

    如要直接下載,請按照下列步驟操作:

    1. 前往 windows-filesystems-connector
    2. 依序點選「Clone or download」(複製或下載) >「Download ZIP」(下載 ZIP 檔)
    3. 解壓縮套件,然後移至目錄。
  2. 使用 Apache Maven 建構連接器:

    > mvn package
    如要略過測試,請使用 mvn package -DskipTests

  3. 將連接器 ZIP 檔案解壓縮至安裝目錄:

    > cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir
    > cd installation-dir
    > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip
    > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3

步驟 2:建立設定檔

安裝連接器後,請建立包含連接器設定的設定檔。

  1. 在連接器目錄中,建立名為 connector-config.properties 的檔案。
  2. 以鍵/值組合形式新增參數。例如:

    # Required parameters
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # File system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace
    
    # Optional parameters
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    如需檔案系統專屬參數,請參閱設定參數參考資料。如需所有 Cloud Search 連接器使用的常見參數清單,請參閱「Google 提供的連接器參數」。

步驟 3:啟用記錄功能

建立記錄目錄,並建立記錄設定檔。

  1. 在連接器目錄中建立名為 logs 的資料夾。
  2. 建立名為 logging.properties 的檔案,其中含有下列內容:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = WARNING
    com.google.enterprise.cloudsearch.level = INFO
    com.google.enterprise.cloudsearch.fs.level = INFO
    
    # uncomment line below to increase logging level to enable API trace
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-fs.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

步驟 4:(選用) 設定媒體類型

連接器會嘗試使用預設機制偵測檔案媒體類型,而這項機制在 Windows 上會依賴登錄項目。如果缺少檔案副檔名的登錄項目,連接器可能無法正確偵測媒體類型。如果系統未正確偵測媒體類型,或您想覆寫擴充功能的預設類型,請按照下列步驟操作:

  1. 在連接器目錄中建立名為 mime-type.properties 的檔案。
  2. extension=media/type 格式輸入擴充功能和類型: properties xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf

步驟 5:執行檔案系統連接器

從主機啟動連接器:

> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]

根據預設,連接器會在執行連接器的目錄中,尋找名為 connector-config.properties 的設定檔。如果設定檔的名稱不同或位於其他目錄,請使用 -Dconfig 參數指定路徑。

設定參數參考資料

下表列出並說明用於設定檔案系統連接器的參數。

資料來源存取權

設定 參數
資料來源 ID api.sourceId=1234567890abcdef

必填。Cloud Search 來源 ID。

服務帳戶 api.serviceAccountPrivateKeyFile=./PrivateKey.json

必填。服務帳戶金鑰檔案的路徑。

識別資訊來源 ID api.identitySourceId=x0987654321

必填。Google Workspace 管理員設定的 Cloud Search 身分識別來源 ID,用於透過 GCDS 同步處理 Active Directory 身分。

檔案系統存取權

使用這些參數指定要檢索的檔案系統來源。

設定 參數
來源檔案系統 fs.src=path1[,path2, ...]

必填。指定來源檔案系統,做為以 fs.src.separator 設定的分隔符號分隔的一或多個 UNC 來源。如果使用 Latin1 以外的字元,請以 Java Unicode 逸出字元編碼。

路徑分隔字元

設定 參數
路徑分隔符字元 fs.src.separator=separator-character

預設分隔符號為「;」。如果來源路徑包含半形分號,您可以設定其他分隔符號,例如半形逗號「,」,只要該符號與路徑中的字元不衝突,且屬性檔案語法本身未保留該符號即可。

如果 fs.src.separator 值是空字串,系統會將 fs.src 值視為單一路徑。

連接器行為

使用這些參數調整連接器檢索檔案系統的方式。

設定 參數
Windows 網域 fs.supportedDomain=domain

如果使用者已設定 GCDS,則必須啟用這項服務,才能透過 Cloud Search 存取文件。指定為 Active Directory 的單一 NetBIOS 網域名稱。

在 ACL 中納入帳戶 fs.supportedAccounts=account-1[, account-2,...]

以半形逗號分隔的帳戶清單,無論是否為內建帳戶,都會納入 ACL。

預設值為 BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

從存取控制清單中排除內建帳戶 fs.builtinGroupPrefix=prefix

指定內建帳戶的前置字串。如果帳戶開頭為這個前置字元,系統會將其視為內建帳戶,並從 ACL 中排除。

預設值為 BUILTIN\\

允許為隱藏檔案和資料夾建立索引 fs.crawlHiddenFiles=boolean

設為 true 即可檢索隱藏檔案。預設值為 false

允許為已檢索的資料夾清單和 DFS 命名空間列舉建立索引 fs.indexFolders=boolean

如果設為 true (預設值),連接器在檢索資料夾時會建立 CONTAINER_ITEM 物件。如果設為 false,連接器會改為建立 VIRTUAL_CONTAINER_ITEM 物件。

啟用檔案系統變更監控 fs.monitorForUpdates=boolean

如果設為 true (預設值),連接器會在內容或存取權控管設定變更時,自動重新檢索。設為 false 可減少資源用量,但變更內容反映在搜尋結果中的速度會較慢。

設定目錄快取大小上限 fs.directoryCacheSize=number-of-entries

目錄快取大小上限。連接器會使用快取識別隱藏資料夾,避免為隱藏資料夾中的檔案和資料夾建立索引。

預設值為 50,000 個項目,通常會耗用 10 到 15 MB 的 RAM。

保留時間戳記

使用這些參數指定連接器處理時間戳記保留作業的方式。

設定 參數
保留存取時間 fs.preserveLastAccessTime=value

在檢索檔案和資料夾時,連接器可能會將上次存取時間戳記變更為檢索時間。如果系統未保留上次存取時間,備份和封存系統可能會因為連接器存取了適當的檔案和資料夾,而未將這些項目移至次要儲存空間。

根據預設,fs.preserveLastAccessTime 會設為 ALWAYS,表示連接器會嘗試保留上次存取時間。如果執行連接器的使用者帳戶缺少寫入檔案屬性的權限,連接器就無法還原上次存取時間。如果設為 ALWAYS,且連接器無法保留上次存取時間,就會拒絕檔案系統的檢索要求,以免變更檔案時間戳記。

可能的值包括:

  • ALWAYS:連接器在檢索檔案和資料夾時,會嘗試保留上次存取時間。如果無法保留上次存取時間,系統會拒絕所有後續的檔案系統檢索要求,避免時間戳記遭到變更。
  • IF_ALLOWED:連接器會嘗試在檢索檔案和資料夾時保留上次存取時間。即使部分時間戳記可能無法保留,系統仍會繼續檢索。
  • NEVER:連接器不會嘗試保留上次存取時間。
僅檢索特定日期後存取的檔案 fs.lastAccessedDate=YYYY-MM-DD

只有在上次存取時間晚於指定日期 (YYYY-MM-DD,ISO8601 格式) 時,才檢索內容。 預設值為 disabled。舉例來說,2010-01-01 會檢索 2010 年初之後存取的內容。無法與 fs.lastAccessedDays 搭配使用。

只檢索在過去幾天內存取過的檔案 fs.lastAccessedDays=number-of-days

只有在上次存取時間距離現在不超過指定天數時,才檢索內容。預設值為 disabled。適合用來移除過舊內容,365會檢索過去一年內存取的內容。無法與 fs.lastAccessedDate 搭配使用。

只檢索特定日期後修改的檔案 fs.lastModifiedDate=YYYY-MM-DD

只有在上次修改時間晚於指定日期時,才檢索內容 (YYYY-MM-DD,ISO8601 格式)。預設值為 disabled。舉例來說,2010-01-01 會在 2010 年初之後,抓取修改過的內容。無法與 fs.lastModifiedDays 搭配使用。

只檢索在過去幾天內修改的檔案 fs.lastModifiedDays=number-of-days

只有在上次修改時間距離現在不超過指定天數時,才檢索內容。預設值為 disabled。適合用來移除過舊內容,例如365 檢索過去一年內修改的內容。 無法與 fs.lastModifiedDate 搭配使用。

略過檔案共用 ACL

如果連接器沒有讀取共用 ACL 的權限,可以將其設為忽略共用 ACL。接著,系統會傳回內容,並附上允許分享的 ACL。

設定 參數
略過共用 ACL fs.skipShareAccessControl=boolean

設為 true 即可忽略共用 ACL。預設值為 false