このページでは、構造化データストアとメタデータを含む非構造化データストアに対して実行された検索クエリの結果を並べ替える方法について説明します。
結果の並べ替えでサポートされているデータ型
検索結果の並べ替えに使用できるフィールド タイプは次のとおりです。
string
number
datetime
geolocation
始める前に
構造化データまたはメタデータを含む非構造化データを含むデータストアを持つアプリがあることを確認します。
検索結果を並べ替える
構造化データストアまたはメタデータを含む非構造化データストアの検索結果を並べ替える手順は次のとおりです。
REST
API を使用して、構造化データを含むアプリまたはメタデータを含む非構造化データの検索結果を並べ替えるには、engines.servingConfigs.search
メソッドを使用します。
アプリ ID を確認します。アプリ ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[アプリ] ページでアプリの名前を見つけ、[ID] 列からアプリの ID を取得します。
検索クエリを作成し、
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
を指定すると、最も古いものから最も新しいものの順に結果が返されます。降順で並べ替えるには、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 に最も近くにあるドキュメントから Mountain View から最も遠くにあるドキュメントの順に並べ替えます。"orderBy": "GEO_DISTANCE(location, 37.38, -122.08) desc"
は、37.38°N、122.08°W の場所から最も遠い順にから近い順にドキュメントを並べ替えます。