除了 Google Workspace 內容,您可以設定 Google Cloud Search 傳回貴機構 SharePoint Online 內容的結果。您會使用 Google Cloud Search SharePoint Online 連接器,並將其設為存取特定 SharePoint Online 資料來源。
重要事項
適用的 SharePoint 設定
Cloud Search SharePoint Online 連接器一律會遵循 SharePoint 的「Search Visibility」設定,無法覆寫。對於草稿文件,連接器用來存取 SharePoint Online 的使用者帳戶權限,會控制哪些草稿文件會建立索引並傳回。如果帳戶只有「完全讀取」權限,連接器會遵循 SharePoint 中的「草稿項目顯示設定」。
您也可以設定連接器,根據使用者帳戶存取權限制結果。如要針對 SharePoint 內容套用安全性調整,您需要將下列外部身分與 Google 目錄同步處理:
- Office 365 / Azure AD 使用者
- Office 365 / Azure AD 安全性群組
- SharePoint 群組 (成員為 Office 365 使用者和群組)
搜尋最佳化
您可以設定連接器,傳回更相關的搜尋結果,進而改善使用者體驗。
如要使用這個 API,請在 SharePoint Online 連接器設定檔中,設定 HTML 產生參數值。這些參數可讓您設定哪些欄位對比對結果的影響較大或較小。
如要設定結構定義,請按照「建立及註冊結構定義」一節中的操作說明進行 。設定結構定義時:
為了將 SharePoint 內容類型的名稱對應至相應的物件定義,連接器會排除不支援的字元,將內容類型名稱正規化。針對物件定義,Cloud Search API 僅支援 A-Z、a-z 和 0-9 做為有效字元。舉例來說,內容類型「公告」對應至物件定義「公告」。內容類型「新聞文章」會對應至「NewsArticle」(不含空格)。
如果連接器未能與物件定義相符,連接器就會使用備用物件類型 (
itemMetadata.objectType
)。進一步瞭解中繼資料設定參數。連接器會將 SharePoint 屬性名稱對應至屬性定義。
當連接器在為內容建立索引時遇到 Microsoft Outlook .msg 檔案,就會覆寫檔案的內容類型,並將檔案編入索引為
application/vnd.ms-outlook.
已知的連接器限制
- 每個連接器執行個體只能為單一網站集合建立索引。如要為多個網站集合建立索引,請設定其他連接器例項。
- 每個網站集合在存取控管清單 (ACL) 中使用的不重複使用者和群組數量越多,記憶體用量就會越高。
- 刪除通知並非即時傳送,連結器可能需要超過 4 小時,才能辨識使用者從來源存放區刪除內容。
系統需求
系統需求 | |
---|---|
作業系統 |
|
驗證 |
|
軟體 |
|
部署連接器
必要條件
建立 Google Workspace 私密金鑰,其中包含您的服務帳戶 ID。如要瞭解如何取得私密金鑰,請參閱「設定 Google Cloud Search API 存取權」。
Google Workspace 管理員必須在 Cloud Search 中新增資料來源。記錄資料來源 ID。
如果連接器根據 ACL 傳回結果 (結果不會公開),Google Workspace 管理員必須建立兩個身分來源,並提供其 ID:
- 一個用於 Office 365 使用者和群組
- 一個 SharePoint 群組
此外,管理員也必須取得貴機構的 Google Workspace 客戶 ID,再提供給您。
如要瞭解如何取得這些值,請參閱「在 Cloud Search 中對應使用者識別資訊」。
為具備 SharePoint Online 網站集合管理員權限的連接器設定使用者帳戶。
如果連接器根據 ACL 傳回結果 (結果並非公開),請建立憑證,以便讀取 Office 365 帳戶中的使用者和群組。請按照 Microsoft 的操作說明建立 Azure Active Directory 應用程式。設定應用程式時:
- 請為應用程式命名描述性名稱,例如「gcs-o365-identity-connector」。
- 新增權限。應用程式需要「Group.Read.All」和「User.Read.All」。
- 記錄下列資訊,以便在連接器設定中使用:
- 應用程式 ID
- 用戶群
- 用戶端密鑰
步驟 1:安裝 SharePoint Online 連接器軟體
從 GitHub 複製連接器存放區。
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
請查看所需連接器的版本:
$ git checkout tags/v1-0.0.3
建構連接器。
$ mvn package
如要在建構連接器時略過測試,請執行
mvn package -DskipTests
而非mvn package
。將連接器 ZIP 檔案複製到本機安裝目錄:
$ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3
步驟 2:建立 SharePoint Online 連接器設定檔
在安裝連接器的目錄中建立新檔案,並將其命名為
sharepoint-online-connector.config
。如果您打算執行多個連接器執行個體,請在名稱中加入更多詳細資料,以便區別。將參數做為鍵/值組合新增至檔案內容,如以下範例所示:
### SharePoint Online connector configuration ### # Required parameters for data source access api.sourceId=08ef8becd116faa4546b8ca2c84b2879 api.serviceAccountPrivateKeyFile=service_account.json # Required parameters for SharePoint Online access sharepoint.server=https://mydomain.onmicrosoft.com sharepoint.siteCollectionOnly=true sharepoint.username=admin@mydomain.onmicrosoft.com sharepoint.password=pa$sw0rd sharepoint.formsAuthenticationMode=LIVE sharepoint.deploymentType=ONLINE # SharePoint identity mapping parameters api.identitySourceId=08ef8becd116faa475de26d9b291fed9 api.referenceIdentitySources=defaultIdentitySource api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa # Optional SharePoint List Item metadata parameters contentTemplate.sharepointItem.title=Title contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
(選用) 視需要設定其他連接器參數。詳情請參閱「Google 提供的連接器參數」。
步驟 3:設定 SharePoint Online 連接器的記錄功能
在包含連接器二進位檔的相同目錄中,建立名為 logs 的資料夾。
在同一個目錄中建立名為 logging.properties 的拉丁 1 編碼檔案,並加入下列內容:
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler # Default log level .level = INFO # uncomment line below to increase logging level for SharePoint APIsa #com.google.enterprise.cloudsearch.sharepoint.level=FINE # 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-sharepoint.%g.log java.util.logging.FileHandler.limit=10485760 java.util.logging.FileHandler.count=10 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
步驟 4:設定 SharePoint Online 身分識別連接器
您必須執行這個步驟,才能將 SharePoint Online 以身分為準的 ACL 套用至搜尋結果。如果您使用公開 ACL 設定連接器,可以略過這個步驟。
在與 SharePoint Online 連接器安裝相同的目錄中建立新檔案,並命名為
sharepoint-online-identity-connector.config
。將參數做為鍵/值組合新增至檔案內容,如以下範例所示:
### SharePoint Online identity connector configuration ### # Required parameters for data source access api.customerId=C05d3djk8 api.serviceAccountPrivateKeyFile=service_account.json # Required parameters for SharePoint Online access sharepoint.server=https://mydomain.onmicrosoft.com sharepoint.siteCollectionOnly=true sharepoint.username=admin@mydomain.onmicrosoft.com sharepoint.password=pa$sw0rd sharepoint.formsAuthenticationMode=LIVE sharepoint.deploymentType=ONLINE # SharePoint identity mapping parameters api.identitySourceId=08ef8becd116faa475de26d9b291fed9 api.referenceIdentitySources=defaultIdentitySource api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
這些值幾乎與 SharePoint Online 連接器相同,但參數是
api.customerId
,而非api.sourceId
。api.customerId
的值是您從 Google Workspace 管理員取得的客戶 ID。
步驟 5:安裝 Office 365 身分識別連接器
您必須執行這個步驟,才能將 SharePoint Online 以身分為準的 ACL 套用至搜尋結果。如果您使用公開 ACL 設定連接器,可以略過這個步驟。
從 GitHub 複製連接器存放區。
$ git clone https://github.com/google-cloudsearch/office-365-connector.git $ cd office-365-connector
請查看所需連接器的版本:
$ git checkout tags/v1-0.0.3
建構連接器。
$ mvn package
如要在建構連接器時略過測試,請執行
mvn package -DskipTests
而非mvn package
。將連接器 ZIP 檔案複製到本機安裝目錄:
$ cp target/google-cloudsearch-office-365-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip $ cd google-cloudsearch-office-365-connector-v1-0.0.3
步驟 6:設定 Office 365 身分連接器並設定記錄功能
在安裝身分連接器的目錄中,建立名為
o365-identity-connector.config
的新檔案。將參數新增為檔案內容中的鍵/值組合,如以下範例所示。注意:所有參數皆為必填。
### Office 365 Identity connector configuration ###
api.identitySourceId=12345abcde api.customerId=abcde12345 o365.clientId=a63c6eb3-29e7-486 o365.tenant=185ef9ed-29e7-486 o365.clientSecret=raHJN15vRLBKs在包含連接器二進位檔的相同目錄中,建立名為 logs 的資料夾。
在同一個目錄中建立名為 logging.properties 的 ASCII 或 UTF-8 檔案,並加入下列內容:
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler # Default log level .level = INFO # uncomment line below to increase logging level for Office 365 APIs #com.google.enterprise.cloudsearch.o365.level=FINE # uncomment line below to increase logging level to enable Google API traces #com.google.api.client.http.level = FINE java.util.logging.ConsoleHandler.level = INFO java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log java.util.logging.FileHandler.limit=10485760 java.util.logging.FileHandler.count=10 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
步驟 7:啟動 SharePoint Online 連接器
在下列步驟中,您會將 Office 365 和 SharePoint 網站集合中的主體對應至 Cloud Identity 服務中的身分。這項同步作業會使用 Office 365 身分識別連接器和 SharePoint Online 身分識別連接器。
Office 365 連接器同步處理使用者和群組後,請執行 SharePoint Online 身分連接器,同步處理 SharePoint 網站集合群組。接著,請執行 SharePoint Online 連接器,為 Cloud Search 使用者提供索引及提供結果服務。
執行 Office 365 身分識別連接器:
$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
執行 SharePoint Online 識別資訊連接器:
$ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-online-identity-connector.config
執行 SharePoint Online 連接器:
$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config
設定參數參考資料
資料來源存取權
設定 | 參數 |
資料來源 ID | api.sourceId=1234567890abcdef
必要欄位。Google Workspace 管理員設定的 Google Cloud Search 資料來源 ID。 |
服務帳戶私密金鑰檔案的路徑 | api.serviceAccountPrivateKeyFile=PrivateKey.json
必要欄位。Google Cloud Search 服務帳戶金鑰檔案的路徑。 |
SharePoint Online 存取權
設定 | 參數 |
SharePoint Site Collection 的完整網域名稱 | sharepoint.server= http://yoursharepoint.example.com/
必要欄位。如果網域名稱不是完整的完整路徑,請在連接器主機上設定 DNS 覆寫值。 |
僅限網站集合模式 | sharepoint.siteCollectionOnly=true
必要欄位。如果是 SharePoint Online,請將值設為 |
SharePoint 使用者名稱 | sharepoint.username=username
必要欄位。用來存取 SharePoint Online 的帳戶使用者名稱。 |
SharePoint 密碼 | sharepoint.password=user_password
必要欄位。用來存取 SharePoint Online 的帳戶密碼。 |
驗證模式 | sharepoint.formsAuthenticationMode=LIVE
必要欄位。如果是 SharePoint Online,這個值一律為 `LIVE`。 |
部署類型 | sharepoint.deploymentType=ONLINE
必要欄位。如果是 SharePoint Online,這個值一律為 `ONLINE`。 |
SharePoint 識別資訊對應
設定 | 參數 |
識別資訊來源 ID | api.identitySourceId=1234567890abcdef
必要欄位。SharePoint 群組識別資訊來源的 Cloud Search 識別資訊來源 ID。 |
參考識別資訊來源 | api.referenceIdentitySources=defaultIdentitySource
必要欄位。對於 SharePoint Online,這個值一律為「defaultIdentitySource」。 |
參考識別資訊來源 ID | api.referenceIdentitySource.defaultIdentitySource.id=112233abcd
必要欄位。Office 365 使用者和群組識別資訊來源的 Cloud Search 識別資訊來源 ID。 |
HTML 內容產生
設定 | 參數 |
HTML 範本標題欄位 | contentTemplate.sharePointItem.title=Title
要用於產生 HTML 的 HTML 範本標題 SharePoint 欄位。 |
HTML 內容高搜尋品質欄位 | contentTemplate.sharePointItem.quality.high=highField1[,highField2,...]
以半形逗號分隔的欄位清單,用於在產生的 HTML 中加入高品質欄位。當搜尋查詢字詞與這些欄位相符時,系統會將結果排在較前的位置。 |
HTML 內容媒介搜尋品質欄位 | contentTemplate.sharePointItem.quality.medium=mediumField1[,mediumField2,...]
以半形逗號分隔的欄位清單,用於在產生的 HTML 中加入中等品質欄位。 |
HTML 內容搜尋品質偏低的欄位 | contentTemplate.sharePointItem.quality.low=lowField1[,lowField2,...]
以半形逗號分隔的欄位清單,用於在產生的 HTML 中加入低品質欄位。 |
HTML 內容未對應的欄 | contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
連接器如何處理未對應的資料欄。值為 APPEND (預設) 或 IGNORE。
|
Office 365 身分連接器設定
設定 | 參數 |
識別資訊來源 ID | api.identitySourceId=1234567890abcdef
必要欄位。Office 365 識別資訊來源 ID。這個值應與 SharePoint Online 連接器設定中的 `api.referenceIdentitySource.defaultIdentitySource.id` 值相符。 |
Google 客戶 ID | api.customerId=c1b1d1e1
必要欄位。貴機構的 Google Workspace 客戶 ID。 |
Office 365 應用程式 ID | o365.clientId=a63c6eb3-29e7-486
必要欄位。Office 365 應用程式設定中的應用程式 ID。 |
Office 365 租用戶 | o365.tenant=185ef9ed-29e7-486
必要欄位。Office 365 帳戶的用戶群 (Azure 活動目錄應用程式) |
Office 365 用戶端密鑰 | o365.clientSecret=raHJN15vRLBKs
必要欄位。設定 Office 365 應用程式設定的憑證密鑰 |