從結構化資料儲存庫排序結果 (舊版)

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

支援排序結果的資料類型

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

  • string
  • number
  • datetime
  • geolocation

事前準備

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

排序搜尋結果

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

REST

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

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

    1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面。

      前往「應用程式」

    2. 在「Apps」(應用程式) 頁面中,找出應用程式名稱,然後從「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:專案 ID。
    • APP_ID:應用程式 ID。
    • QUERY:要搜尋的查詢文字。
    • ORDER_BY:結果的排列順序。預設排列順序為遞增。舉例來說,指定 date 會傳回從最舊到最新的結果。如要以遞減順序排序,請在 date 值後方附加 desc,例如 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\")" 會將文件排序,從距離 Mountain View 最近的文件排到最遠的文件。

  • "orderBy": "GEO_DISTANCE(location, 37.38, -122.08) desc" 會將文件排序,從距離北緯 37.38 度、西經 122.08 度最遠的位置排到最近的位置。