全部產品
Search
文件中心

OpenSearch:端到端圖搜解決方案

更新時間:Aug 21, 2026

本文將介紹企業在沒有向量資料的情況下,如何通過OpenSearch向量檢索版,快速搭建Image Search服務。

使用者可以直接匯入圖片來源資料,在OpenSearch內部便捷的完成圖片向量化、向量搜尋等步驟,實現以圖搜圖、以文搜圖等多種映像檢索能力。

方案架構

使用者可以通過4種不同的方式上傳圖片進行圖搜引擎的搭建

  • OSS+MaxCompute+OpenSearch向量檢索版:使用者先將圖片上傳至OSS中,在MaxCompute中儲存業務表資料以及每條資料對應的圖片地址(OSS裡的路徑,比如/image/1.jpg)。

  • MaxCompute+OpenSearch向量檢索版:使用者將圖片通過base64編碼後的圖片及其表資料存放區在MaxCompute中。

  • API+OpenSearch向量檢索版:使用者通過OpenSearch向量檢索版提供的資料推送介面,將base64編碼後的圖片及其表資料推送到OpenSearch向量檢索版執行個體中。

  • 資料湖構建(DLF)+OpenSearch向量檢索版:使用者將圖片資料移轉到資料湖構建DLF 2.0 Catalog下的資料表中。

本文示範的是OSS+MaxCompute+OpenSearch向量檢索版搭建圖搜引擎。

環境準備

1.建立AK和SK

第一次開通阿里雲帳號並登入控制台時,會提示先建立access key才能繼續使用。

  • 建立及使用應用依賴access key參數,主帳號下access key參數不可為空。

  • 在為主帳號建立access key參數後,還可以再建立RAM子帳號access key通過RAM子帳號進行訪問,RAM子帳號賦予對應存取權限,請參考RAM(子帳號)的建立及授權

2.建立Object Storage Service

  1. 開通OSS服務

  2. 控制台建立儲存空間

  3. 控制台上傳檔案

  1. 添加opensearch標籤:(key-value 值均為opensearch)

本文在OSS中上傳了1000張圖片:

部分圖片類型如下:

購買OpenSearch向量檢索版執行個體

購買執行個體可參考購買OpenSearch向量檢索版執行個體

配置執行個體

執行個體列表頁面,找到新購買的執行個體,其狀態為“待配置”,需要完成表的配置後,才可正常搜尋。

1. 表基礎資訊

配置說明

  • 表名稱:可自訂

  • 資料分區數:分區數設定時,請填寫不超過256的正整數, 用於提升全量構建速度、單次查詢效能。(部分存量執行個體,仍需各索引表分區數保持一致;或至少一個索引表分區數為1,其餘索引表分區數一致)

  • 資料更新資源數:資料更新所用資源數,每個索引預設免費提供2個4核8G的更新資源,超出免費額度的資源將產生費用,詳情可參考向量檢索版計費概述

  • 情境模板:選擇“向量:圖片搜尋”。

2. 資料同步

全量資料來源選擇MaxCompute+API方式,依次完成參數配置,最後需要通過資料來源校正,才能進行下一步的操作。

配置參數說明

  • AccessKey:阿里雲帳號或RAM使用者的AccessKey ID。

  • AccessKey Secret:AccessKey ID對應的AccessKey Secret。

  • 專案名 (Project):訪問的目標MaxCompute專案名稱。

  • 表名 (Table):訪問的目標MaxCompute表名。

  • 表資料分區 (Partition):MaxCompute資料來源必須設定分區鍵; 樣本:ds=20170626。

  • 自動索引重建:是否開啟自動索引重建任務,如果開啟,則將在識別到當前資料來源的變更時,自動對引用該資料來源的索引表進行索引重建。

說明

開啟自動索引重建,則必須建立done表,建立方式可參考自動索引重建

3. 欄位配置

向量檢索版會根據選擇的情境模板,預置相關欄位,並將全量資料來源中的欄位,自動匯入欄位列表中,下圖是「向量:圖片搜尋」模板包含4個預置欄位。

欄位配置說明:

  • 預設欄位1.id(主鍵)、2.source_image(源圖片)、3.namespace(命名空間)、4.source_image_vector(源圖片向量)。

  • 必選欄位:主鍵欄位和向量欄位,主鍵欄位為int或string類型並且需要勾選主鍵按鈕,向量欄位為float類型並且需要勾選向量欄位按鈕。

  • 向量欄位預設為多值的float類型,控制台建表預設採用英文逗號切分,支援自訂多值分隔字元。

  • 圖片向量化的欄位,需要在需資料預先處理中勾選去配置,對source_image預設欄位進行配置。

  • 使用向量檢索,在定義欄位時有位置要求,需要按照主鍵欄位、命名空間欄位(非必要)、向量欄位的順序建立(如上圖所示)。

欄位 source_image 資料預先處理配置說明:

  • 資料來源:有OSSObject Storage Service和Base64編碼的兩種資料類型選項。

    • OSSObject Storage Service:需要填寫OSS路徑,其實是將圖片儲存在OSS的檔案夾裡面,從OSS直接匯入。

    • Base64編碼:相當於需要先將圖片進行一次編碼,然後儲存在資料庫中,或者直接用API方式進行傳輸。

  • 預先處理模板:會根據要進行前置處理過的資料類型(文本或圖片)而展示不同模板,由於欄位的資料是圖片類型,所以此時預先處理模板展示的分別為(1.圖片向量化、2.OCR圖片文字識別、3.OCR圖片文字識別+圖片向量化)三種模板。

  • 服務列表:

    • 選定預先處理模板後,自動出現模板下的服務列表,展示該模板下所用到的模型種類。

    • 可選的模型有兩個來源:

      • 內建模型:模型種類與數量較少,可免費調用。

      • AI搜尋開放平台:模型能力豐富,需按調用量收費,計費詳情參見計費方式和計費項目,在使用AI搜尋開放平台前完成工作空間和API Key開通。

      • 自訂模型:使用者建立的自訂模型,可參考自訂模型進行建立。

    • AI平台OCR圖片文字識別/文本向量服務

      • OCR圖片文字識別:針對架構圖、分析圖表等圖片資料,AI搜尋開放平台提供圖片內容理解服務,可基於多模態大模型對圖片內容進行解析理解以及文字識別,也可基於OCR能力對圖片文字進行識別,將文字資訊提取出來,用於圖片檢索及問答等情境。

      • 文本向量化:提供將文本資料轉化為稠密向量形式表達的服務,支援多款不同語言、輸入長度、輸出維度文本向量模型,可用於資訊檢索、文本分類、相似性比較等情境。

  • 產生欄位:原始圖片資料經過模型處理後,會被自動轉化為其他格式,產生新的欄位內容

    • embedding處理類的服務,預設必鬚生成欄位。

    • ocr服務可選是否產生欄位。

  • 介面調用配置:為了成功訪問AI搜尋開放平台,需要完成工作空間、API Key、串連網域名稱的設定。

4. 索引結構

配置說明:

  • 向量索引名稱與向量欄位名稱相同。

  • 包含欄位為主鍵、向量欄位、命名空間欄位可選。

  • 進階配置可按需要填寫,詳情可參考向量索引通用配置

5. 確認建立

點擊確認建立,完成表的建立,在左側導覽列日誌記錄變更歷史,可以查看錶的建立進度,當狀態顯示完成後,就可以進行查詢測試的操作。

查詢測試

1.控制台查詢測試

在左側導覽列選擇向量管理 > 查詢測試,控制台的查詢測試功能同時支援表單/開發人員模式,控制台查詢用法可以參考:查詢測試

1.1 表單模式

依次選擇好表單模式 > 表名Query類型以圖片類型為例(支援向量、文本、圖片三種方式),圖片提供方式選擇上傳圖片檔案,完成查詢圖片的上傳後,點擊搜尋就可以在搜尋結果欄中查看到結果。

1.2 開發人員模式

依次選擇好開發人員模式 > 表名,在下方的搜尋方塊內輸入查詢參數,完成後點擊搜尋就可以在右側的結果欄內看到查詢結果。

欄位說明

  • vector:具體要查詢的向量

  • topK:取top K個結果

  • includeVector:是否返迴文檔中的向量資訊

詳細的查詢文法可參考下方的文法說明。

2.SDK查詢

查詢樣本:可參考預測查詢

結果展示

{
    "totalCount": 5,
    "result": [
        {
            "id": 5,
            "score": 1.103209137916565
        },
        {
            "id": 3,
            "score": 1.1278988122940064
        },
        {
            "id": 2,
            "score": 1.1326735019683838
        }
    ],
    "totalTime": 242.615
}

result中記錄著返回結果。

文法說明

SDK中使用向量檢索