Amazon CloudSearch 支援一組豐富的功能,包括 34 種語言的特定語言文字處理、任意文字搜尋、小平面搜尋、地理空間搜尋、可自訂關聯性排名、反白、自動完成及使用者可設定的擴展和可用性選項,以支援高輸送量和低延遲性。

要使用 Amazon CloudSearch,只需依照這些簡單的步驟操作:

  1. 建立搜尋網域
  2. 設定資料的索引選項
  3. 上傳索引的資料
  4. 從您的網站或應用程式提交搜尋請求

您可以在下方找到有關 CloudSearch 運作方式的詳細資訊。

免費試用 Amazon CloudSearch

開始免費試用 CloudSearch
進一步了解

功能完整的搜尋執行個體在 30 天內享有 750 小時的免費時數。開始使用:

登入您的 AWS 帳戶並啟動 CloudSearch 主控台

按幾下滑鼠即可建立和設定搜尋網域


針對您想要搜尋的每個資料集合建立一個 Amazon CloudSearch 搜尋網域。操作搜尋引擎所需的資料及軟硬體資源會封裝在搜尋網域中。每個搜尋網域都有一個或多個搜尋執行個體。搜尋執行個體是指擁有有限 RAM 和 CPU 資源的伺服器執行個體,用於索引資料和處理請求。網域中的搜尋執行個體數量取決於集合中的文件,以及搜尋請求的數量和複雜性。

作為一種受管的搜尋服務,Amazon CloudSearch 可確定所需的搜尋執行個體大小和數量,以提供低延遲性、高輸送量的搜尋效能。建立搜尋網域時,Amazon CloudSearch 預設會使用小型搜尋執行個體類型 (search.m1.small)。您可以選擇較大的搜尋執行個體類型來提高網域的更新容量,並降低上傳和索引大量資料所需的時間。(如果您需要的容量超出最大執行個體類型容量,可以增加執行個體數量,使索引可以跨多個執行個體分區進行。)

隨著搜尋索引中的資料量增加,Amazon CloudSearch 會視需要自動擴展您的搜尋網域。當索引超過目前執行個體類型的容量時,網域將擴展到下一個更大的執行個體類型。如果您的搜尋索引超過最大執行個體類型的容量,Amazon CloudSearch 將跨多個執行個體對索引進行分區。反之,如果您的索引縮小,CloudSearch 會將網域縮減到更少分區或更小的搜尋執行個體類型。

Amazon CloudSearch 還會自動擴展以處理增加的搜尋流量。當搜尋執行個體的查詢負載接近最大值時,CloudSearch 會部署搜尋執行個體的複本。反之,搜尋流量下降時,Amazon CloudSearch 會移除不需要的複本,將成本降到最低。

例如,分割成三個分區的搜尋索引會使用三個搜尋執行個體 (每個分區一個執行個體)。當搜尋流量增加超過單個搜尋執行個體的處理容量時,將會複製分區以提供更多的查詢容量。執行個體完成複製後,網域總共會有六個搜尋執行個體,每個分區兩個執行個體。如果流量持續增加,Amazon CloudSearch 會視需要新增更多複本。

如果您預期會有大量查詢流量或流量會有大幅上升,可以在網域中明確新增搜尋執行個體複本。

CloudSearchScaling

您可以在 AWS 網站的帳戶活動頁面透過 AWS 管理主控台查看 Amazon CloudSearch 網域使用的資源,或透過 AWS CLI 或 AWS 開發套件提交 CloudSearch API 請求。

每個搜尋執行個體類型可支援的資料量絕大部分取決於索引文件的大小,以及網域設定的索引選項。

為了示範每個搜尋執行個體類型的容量,請查看範例文件和 IMDb 電影資料集的設定。以下範例顯示的大小約為 1 KB 的 IMDb 電影文件:

{
   "fields" : {
      "directors" : [
         "Francis Lawrence"
      ],
      "release_date" : "2013-11-11T00:00:00Z",
      "genres" : [
         "Action",
         "Adventure",
        "Sci-Fi",
        "Thriller"
      ],
      "image_url" : "http://ia.media-imdb.com/images/M/MV5xMzNeMzAx._V1_SX400_.jpg",
      "plot" : "Katniss Everdeen and Peeta Mellark become targets of the Capitol after their victory in the 74th Hunger Games sparks a rebellion in the Districts of Panem.",

      "title" : "The Hunger Games: Catching Fire",
      "rank" : 4,
      "running_time_secs" : 8760,
       "actors" : [
         "Jennifer Lawrence",
         "Josh Hutcherson",
         "Liam Hemsworth"
      ],
      "year" : 2013
   },
   "id" : "tt1951264",
   "type" : "add"
}   

若要索引和搜尋這類電影文件,可以使用索引欄位為每個文件欄位設定搜尋網域。我們可以為每個欄位指定多個索引選項,如欄位類型,及欄位是否可搜尋、啟用小平面、啟用傳回、啟用排序及啟用反白。這些索引選項直接影響適用搜尋執行個體的文件數量。下表顯示 IMDb 電影文件索引欄位的範例設定。

名稱
類型
搜尋
小平面
傳回
排序 反白
演員
文字陣列
導演
文字陣列
類型
字面陣列

image_url
文字
情節
文字
排名 int
評價
雙倍
release_date
日期
running_time_secs
int
標題
文字

int

根據文件大小 (1 KB) 和此索引設定,每個搜尋執行個體類型的文件容量如下表所列。

搜尋執行個體類型 資料容量
小型搜尋執行個體 (search.m1.small)
200 萬個文件
大型搜尋執行個體 (search.m1.large) 800 萬個文件
超大型搜尋執行個體 (search.m2.xlarge)
1,600 萬個文件
雙倍超大型搜尋執行個體 (search.m2.2xlarge) 3,200 萬個文件

當然,這只是一個範例。不同的文件和不同的設定可大幅變更適用執行個體的文件數量。如果超出單個雙倍超大型搜尋執行個體的容量,Amazon CloudSearch 會在更多個雙倍超大型搜尋執行個體之間對搜尋索引進行自動分區。一個索引最多可在 10 個雙倍超大型搜尋執行個體之間進行分區,以支援數千萬或數億個文件。如果您需要進一步擴展,請聯絡我們

您可以透過下列三種服務與 Amazon CloudSearch 互動:

  • 設定服務 – 建立和設定搜尋網域
  • 文件服務 – 上傳批次文件
  • 搜尋服務 – 提交搜尋和建議請求

使用 AWS Identity and Access Management (IAM) 政策管理 Amazon CloudSearch 設定服務及每個網域文件和搜尋服務的存取。

 

使用設定服務可以建立和設定搜尋網域。若要設定搜尋網域,請給予網域唯一的名稱並設定索引選項、文字分析機制、可用性選項、擴展選項、建議者及表達式:

  • 索引選項可指定您想包含在索引中的欄位。您可以使用 AWS 管理主控台或 Amazon CloudSearch 命令列工具掃描資料並自動設定預設索引選項。
  • 文字分析機制可為文字和文字陣列欄位指定特定語言的文字處理選項。分析機制可控制在索引期間應忽略的停用詞、定義詞彙的常見同義詞,以及指定將詞彙映射到常見莖幹的方法。 
  • 可用性選項能跨兩個可用區域部署一個網域,以確保在服務中斷時提供高可用性。
  • 擴展選項可以透過指定所需的執行個體類型、複寫數量及分區數量以預先擴展網域。在您需要上傳大量文件或預期查詢流量會大幅增加時,此選項很有用。
  • 建議者可針對不完整的搜尋查詢擷取可能符合的項目,將結果顯示為使用者類型。
  • 表達式是以查詢時間估算的數值表達式。您可以使用表達式控制搜尋結果的排名方式。預設情況下,文件會依關聯性分數排名,將搜尋詞彙在文件中出現的頻率列入考慮。您可以使用表達式包含其他排名因素。例如,如果文件中包含名為「熱門程度」的數值欄位,則可以定義一個表達式,結合熱門程度與預設的關聯性分數,將相關熱門文件排在搜尋結果中較高的位置。

您可以使用文件服務變更網域的可搜尋資料。每個網域都有唯一的文件服務 HTTP 終端節點。

要將資料傳送到網域,需要將資料格式化為 JSON 或 XML。您希望能夠作為搜尋結果傳回的每一個項目都以文件表示。每個文件都有唯一的 ID 以及一或多個欄位,其中包含您希望搜尋和在結果中傳回的資料。文件欄位可以包含任何 UTF-8 字串資料。網域索引選項可指定您希望索引和使用資料的方式。

搜尋服務可處理網域的搜尋和建議請求。每個網域都有唯一的搜尋 HTTP 終端節點。當您傳送搜尋或建議請求時,搜尋服務會傳回一個相符文件的清單。搜尋結果能以 JSON 或 XML 的格式傳回。

Amazon CloudSearch 提供豐富的查詢語言,讓您能夠在特定的欄位內搜尋、執行複雜的布林值搜尋、擷取小平面資訊,以及指定您想包含在結果中的資料。您還可以指定控制查詢詞彙處理方式的選項,並使用其他查詢解析 (例如 Lucene 或 DisMax 解析)。

您可以使用 Amazon CloudSearch 主控台的搜尋測試器測試範例查詢。

cloudsearcharchitecture

使用本服務需遵守 Amazon Web Services 客戶協議