本文介紹如何快速搭建支援線上多表join功能的執行個體。
前提條件
建立及使用應用依賴access key參數,主帳號下access key參數不可為空。
在為主帳號建立access key參數後,還可以再建立RAM子帳號access key通過RAM子帳號進行訪問,RAM子帳號賦予對應存取權限,請參考訪問鑒權規則。
配置多表join
步驟:
建立併購買應用
配置應用:定義應用結構->定義索引結構->配置資料來源->建立成功
搜尋測試
建立應用
登入OpenSearch控制台,頁面左上方選擇“OpenSearch-高效能檢索版”,進入“執行個體管理”頁,點擊“建立應用”:
選擇執行個體類型,包括商品版本、商品類型、地區和可用性區域、應用程式名稱、叢集偏好、儲存容量、計算資源,點擊“立即購買”:
商品版本選擇“高效能檢索版”。
商品類型可選:“包月包年”或“隨用隨付”
地區和可用性區域:使用者按需選擇
應用程式名稱:可自訂
叢集偏好:獨享儲存型 (固定)
儲存容量和計算資源保持預設,或按需購買
確認訂單,勾選服務合約後,點擊“立即開通”:
開通完成後,可以在控制台列表頁,查看待配置狀態的執行個體:
配置應用
在控制台列表頁,找到新購的執行個體,在右側操作欄中點擊“配置”:
定義應用結構:目前提供了 4 種方式的應用結構建立方式,
通過模板建立應用結構。使用者可以將自己定義的應用結構建立成模板,可以通過已有模板快速建立出一個新的應用。
通過上傳文檔建立應用結構。您可以上傳已有的資料檔案(僅支援JSON格式),系統會自動解析並建立出初始的應用結構(注意欄位類型等需要重新定義)。
通過資料來源建立應用結構。適用於通過RDS、MaxCompute等資料來源同步的情境,可以快速由源表結構建立出初始的應用結構,節省手動構造的工作量,降低出錯機率。具體詳見資料來源配置:
通過手動建立應用結構,快速測試接入時使用,這裡以該方式為例,建立2張表:
欄位類型的選擇的可參考OpenSearch-高效能檢索版表結構。
注意:
表總數不能超過系統最大限制8個;
索引結構配置,不同的表需要單獨配置:(每張表都需要單獨配置)
FLOAT,FLOAT_ARRAY,DOUBLE,DOUBLE_ARRAY 不支援設定索引欄位
TEXT,SHORT_TEXT 不支援設定屬性欄位
分列鍵配置:
OpenSearch執行個體,後端是分布式的部署,在多表情境下,需要多個表join的資料在同一台機器上,如下圖:
引擎在build索引時會根據使用者配置的分列進行hash,將hash結果相同的記錄存放在一列上,同時查詢時,由查詢節點向每一列發起查詢請求,每一列根據使用者的SQL進行join,不會跨列進行join,最後每列把join後的結果返回給查詢接節點,查詢節點匯總召回結果內容後,返回給使用者。
系統預設已採用主鍵分列;
只能選擇一個欄位為分欄欄位;
分欄欄位需要保證全域值唯一;
分欄欄位支援的類型有:INT、LITERAL;
如需非主鍵join,必須在分列鍵中配置需要join的欄位;
資料來源配置,可根據高效能檢索版支援的資料來源類型進行配置:
點擊添加資料來源,配置對應的資料來源:
配置完成後,點擊完成:
在執行個體詳情頁中,等待線下應用狀態為“正常”後,即可進行查詢:
搜尋測試
線下應用狀態正常,並切換上線後,可在搜尋測試頁進行搜尋測試:
目前多表線上join方式,僅支援SQL查詢:
詳細的SQL文法可參考SQL支援。