從結構化資料儲存庫排序結果

本頁面說明如何排序對結構化資料儲存庫和含有中繼資料的非結構化資料儲存庫發出的搜尋查詢結果。

支援的資料類型,可用於排序結果

您可以根據下列欄位類型排序搜尋結果:

  • string
  • number
  • datetime
  • geolocation

事前準備

確認您擁有應用程式,且應用程式的資料儲存庫包含結構化資料或附有中繼資料的非結構化資料。

將搜尋結果排序

如要排序結構化資料儲存庫或含有中繼資料的非結構化資料儲存庫搜尋結果,請按照下列步驟操作:

REST

如要使用 API 依結構化資料或含有中繼資料的非結構化資料排序應用程式的搜尋結果,請使用 engines.servingConfigs.search 方法:

  1. 找出應用程式 ID。如果已有應用程式 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「AI Applications」頁面。

      前往「應用程式」

    2. 在「應用程式」頁面中,找出應用程式名稱,然後從「ID」欄取得應用程式的 ID。

  2. 建立搜尋查詢並加入 orderBy 欄位。

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "query": "QUERY",
    "orderBy": "ORDER_BY"
    }'
    

    更改下列內容:

    • PROJECT_ID:您的 Google Cloud 專案 ID。
    • APP_ID:Vertex AI Search 應用程式的 ID。
    • QUERY:要搜尋的查詢文字。
    • ORDER_BY:結果的排列順序。預設排序順序為遞增。舉例來說,指定 date 會傳回從最舊到最新的結果。如要取得遞減排序順序,請將 desc 附加至 date 值,例如 date desc。如需更多範例,請參閱orderBy 範例

orderBy 個樣本

如要依名為 title 的字串欄位排序:

  • "orderBy": "title",即可依文件標題的字母順序遞增排序。

  • "orderBy": "title desc",即可依標題以反向字母順序 (從 Z 到 A) 排序文件。

如要依名為 rating 的數字欄位排序:

  • "orderBy": "rating",即可依評分由低到高排序文件。

  • "orderBy": "rating desc",即可依評分由高至低排序文件。

如要依名為 available_date 的日期時間欄位排序:

  • "orderBy": "available_date",即可依時間順序排列文件。

  • "orderBy": "available_date desc",依可預訂日期排序,從最遠的日期到最近的日期。

如要根據名為 location 的欄位中的地理位置排序,請執行下列操作:

  • "orderBy": "GEO_DISTANCE(location, \"Mountain View, CA\")" 會依據文件與山景城的距離排序,從最近到最遠。

  • "orderBy": "GEO_DISTANCE(location, 37.38, -122.08) desc" 會依據與 37.38°N 和 122.08°W 位置的距離,由遠到近排序文件。