- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- スニペット
- MatchRange
- メタデータ
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- 試してみる
Cloud Search Query API は、ユーザーのクエリから最も関連性の高い結果を返す検索メソッドを提供します。結果は、Gmail や Google ドライブなどの Google Workspace アプリから取得することも、サードパーティからインデックス登録したデータから取得することもできます。
注: この API を実行するには、標準のエンドユーザー アカウントが必要です。サービス アカウントはクエリ API リクエストを直接実行できません。サービス アカウントを使用してクエリを実行するには、Google Workspace ドメイン全体の権限の委任を設定します。
HTTP リクエスト
POST https://cloudsearch.googleapis.com/v1/query/search
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
| JSON 表現 |
|---|
{ "requestOptions": { object ( |
| フィールド | |
|---|---|
requestOptions |
検索アプリケーションやユーザーのタイムゾーンなどのリクエスト オプション。 |
query |
未加工のクエリ文字列。サポートされている検索演算子については、演算子を使用して検索を絞り込むをご覧ください。 |
pageSize |
1 ページで返される検索結果の最大件数。有効な値は 1 ~ 100 です。デフォルト値は 10 です。2,000 を超える結果がリクエストされた場合、最小値は 50 です。 |
start |
結果の開始インデックス。 |
dataSourceRestrictions[] |
クエリに使用するソース。指定しない場合、現在の検索アプリケーションのすべてのデータソースが使用されます。 |
facetOptions[] |
|
sortOptions |
検索結果の並べ替えオプション |
queryInterpretationOptions |
ユーザー クエリを解釈するためのオプション。 |
contextAttributes[] |
検索結果のランキング調整に使用されるリクエストのコンテキスト属性。要素の最大数は 10 です。 |
レスポンスの本文
検索 API のレスポンス。次の ID: 19
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
| JSON 表現 |
|---|
{ "queryInterpretation": { object ( |
| フィールド | |
|---|---|
queryInterpretation |
ユーザークエリのクエリ解釈結果。クエリの解釈が無効になっている場合は空です。 |
results[] |
検索クエリの結果。 |
structuredResults[] |
ユーザークエリの構造化された結果。これらの結果は pageSize にカウントされません。 |
spellResults[] |
クエリのスペル候補。 |
facetResults[] |
繰り返されるファセット結果。 |
hasMoreResults |
クエリに一致する検索結果が他にもあるかどうか。 |
debugInfo |
レスポンスに関するデバッグ情報。 |
errorInfo |
レスポンスに関するエラー情報。 |
resultCounts |
展開された結果数の情報。 |
共用体フィールド
システムがすべてのドキュメントを検索できないまれなケースでは、クエリを再実行します。 |
|
resultCountEstimate |
このクエリの推定結果数。 |
resultCountExact |
このクエリの正確な結果数。 |
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://www.googleapis.com/auth/cloud_search.queryhttps://www.googleapis.com/auth/cloud_search
詳しくは、承認ガイドをご覧ください。
QueryInterpretationOptions
ユーザー クエリを解釈するオプション。
| JSON 表現 |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| フィールド | |
|---|---|
disableNlInterpretation |
クエリの自然言語(NL)解釈を無効にするフラグ。デフォルトは false です。自然言語の解釈を無効にするには、true に設定します。自然言語解釈は、事前定義されたデータソースにのみ適用されます。 |
enableVerbatimMode |
このフラグを有効にすると、クエリの自然言語(NL)解釈、補足結果の取得、カスタムを含む同義語の使用など、すべての内部最適化が無効になります。2 つのフラグのいずれかが true の場合、NL 解釈は無効になります。 |
disableSupplementalResults |
このフラグを使用して、クエリの補足結果を無効にします。SearchApplication レベルで選択された補足結果の設定は、True に設定されている場合は優先されます。 |
QueryInterpretation
| JSON 表現 |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| フィールド | |
|---|---|
interpretedQuery |
検索で使用されたクエリの解釈。たとえば、「john からのメール」のような自然言語のインテントを含むクエリは、「from:john source:mail」と解釈されます。理由が NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY の場合、このフィールドは入力されません。 |
interpretationType |
|
reason |
クエリの解釈の理由。解釈タイプが NONE でない場合、このフィールドは UNSPECIFIED になりません。 |
interpretedQueryActualResultCount |
解釈されたクエリによって返された実際の結果の数。 |
interpretedQueryEstimatedResultCount |
解釈されたクエリによって返される結果の推定数。 |
QueryInterpretation.InterpretationType
| 列挙型 | |
|---|---|
NONE |
自然言語の解釈も、クエリの広範なバージョンも、検索結果の取得には使用されません。 |
BLEND |
元のクエリの結果は他の結果とブレンドされます。これらの他の結果を元のクエリの結果とブレンドする理由は、以下の「理由」フィールドに入力されます。 |
REPLACE |
元のクエリの結果が置き換えられます。元のクエリの結果が置き換えられた理由は、以下の「理由」フィールドに表示されます。 |
QueryInterpretation.Reason
| 列挙型 | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
クエリの自然言語解釈を使用して検索結果を取得します。 |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
クエリとドキュメントの語句の類似性を使用して、ユーザーのクエリに対して十分な結果が見つからなかったため、追加の検索結果を取得するためにクエリを絞り込みます。この場合、解釈されたクエリは空になります。 |
SearchResult
ドキュメントのインデックス情報を含む結果。次の ID: 16
| JSON 表現 |
|---|
{ "title": string, "url": string, "snippet": { object ( |
| フィールド | |
|---|---|
title |
検索結果のタイトル。 |
url |
検索結果の URL。URL に、実際のアイテムへの Google リダイレクトが含まれています。この URL は署名されているため、変更しないでください。 |
snippet |
この結果で利用可能なすべてのスニペット(要約)の連結。 |
metadata |
検索結果のメタデータ。 |
clusteredResults[] |
ソースがクラスタ化されている場合は、クラスタ化された結果のリストを指定します。クラスタ化された結果は 1 つのレベルのみになります。現在のソースでクラスタリングが有効になっていない場合、このフィールドは空になります。 |
debugInfo |
この検索結果に関するデバッグ情報。 |
スニペット
検索結果のスニペット。検索結果のページのコンテンツを要約したものです。
| JSON 表現 |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| フィールド | |
|---|---|
snippet |
ドキュメントのスニペット。エスケープされた HTML 文字が含まれている場合があります。レンダリングする前にエスケープを解除する必要があります。 |
matchRanges[] |
スニペット内の一致した範囲。 |
MatchRange
スニペットの一致した範囲 [start, end)。
| JSON 表現 |
|---|
{ "start": integer, "end": integer } |
| フィールド | |
|---|---|
start |
スニペット内の一致の開始位置。 |
end |
スニペット内の一致の終了位置。 |
メタデータ
一致した検索結果のメタデータ。
| JSON 表現 |
|---|
{ "source": { object ( |
| フィールド | |
|---|---|
source |
結果のソースの名前(Gmail など)。 |
mimeType |
検索結果の MIME タイプ。 |
thumbnailUrl |
結果のサムネイル URL。 |
owner |
検索結果のドキュメントまたはオブジェクトのオーナー(通常は作成者)。 |
createTime |
検索結果のこのドキュメントまたはオブジェクトの作成時間。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
検索結果のオブジェクトの最終更新日。アイテムで設定されていない場合、ここで返される値は空になります。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
fields[] |
構造化データのインデックス付きフィールド。汎用の名前付きプロパティとして返されます。 |
displayOptions |
構造化データ検索結果の表示方法を指定するオプション。 |
objectType |
検索結果のオブジェクト タイプ。 |
ResultDisplayMetadata
| JSON 表現 |
|---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
| フィールド | |
|---|---|
objectTypeLabel |
オブジェクトの表示ラベル。 |
metalines[] |
結果とともに表示されるメタラインのコンテンツ。 |
ResultDisplayMetadata.ResultDisplayLine
表示される行を構成するフィールドのコレクション
| JSON 表現 |
|---|
{
"fields": [
{
object ( |
| フィールド | |
|---|---|
fields[] |
|
ResultDisplayMetadata.ResultDisplayField
query.search 結果の表示フィールド
| JSON 表現 |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| フィールド | |
|---|---|
label |
プロパティの表示ラベル。 |
operatorName |
プロパティの演算子名。 |
property |
プロパティの名前と値のペア。 |
ResultDebugInfo
結果に関するデバッグ情報。
| JSON 表現 |
|---|
{ "formattedDebugInfo": string } |
| フィールド | |
|---|---|
formattedDebugInfo |
表示用にフォーマットされた一般的なデバッグ情報。 |
StructuredResult
検索リクエストの一部として返される構造化された結果。
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
person |
人物の表現 |
SpellResult
| JSON 表現 |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| フィールド | |
|---|---|
suggestedQuery |
クエリのスペル候補。 |
suggestionType |
現在のクエリでトリガーされた候補。 |
suggestedQueryHtml |
UI で使用できる、スペル修正されたクエリを表すサニタイズされた HTML。通常、これには言語固有のタグが含まれており、スペルチェックされたクエリの部分をマークアップします。 |
SpellResult.SuggestionType
クエリに対してトリガーされた候補のタイプ。
| 列挙型 | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
デフォルトのスペルチェックの種類 |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
結果のないスペル候補が変更されました。元のクエリ(結果が 0 ではない)の検索結果は引き続き表示され、結果が得られるスペル候補が表示されます。 |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
元のクエリで結果が返されなかった場合にスペル候補がトリガーされる。元のクエリで結果が得られず、スペル候補で結果が得られた場合は、スペル修正されたクエリの結果をトリガーします。 |
SafeHtmlProto
重要: 信頼できないソースからのこのメッセージを受け入れるのは安全ではありません。攻撃者が型の安全契約を満たさないシリアル化されたメッセージを簡単に偽造できるためです。たとえば、攻撃者が制御するスクリプトが含まれている可能性があります。SafeHtmlProto を受け取るシステムは、SafeHtmlProto のプロデューサーを暗黙的に信頼します。そのため、一般的に RPC レスポンスでこのメッセージを返すのは安全ですが、RPC リクエストで受け入れるのは安全ではありません。
| JSON 表現 |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| フィールド | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
重要: このフィールドは非公開であるため、テストからでも設定や読み取りを行わないでください。このメッセージの作成または読み取りに使用するプログラミング言語パッケージについては、.proto ファイルの先頭にあるドキュメントをご覧ください。 |
FacetResult
ソース固有のファセット レスポンス
| JSON 表現 |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| フィールド | |
|---|---|
sourceName |
ファセット結果が返されるソース名。空にはなりません。 |
objectType |
ファセット結果が返されるオブジェクト タイプ。これは空でもかまいません。 |
operatorName |
ファセット処理に選択された演算子の名前。@see cloudsearch.SchemaPropertyOptions |
buckets[] |
対応するフィルタを含む結果が少なくとも 1 つ含まれているレスポンス内の値の FacetBuckets。 |
FacetBucket
ファセット内のバケットは、オペレーションの基本単位です。バケットには、バケット化されたフィールドの型に応じて、単一の値または連続した値の範囲を含めることができます。FacetBucket は現在、レスポンス オブジェクトを返すためだけに使用されています。
| JSON 表現 |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| フィールド | |
|---|---|
count |
バケット値に一致する結果の数。カウントの精度が確保されている場合にのみ、検索のカウントが返されます。Cloud Search は、どのクエリに対してもファセット数を保証しません。同じクエリでも、ファセット数が断続的にしか表示されないことがあります。ファセット数の存在に依存関係を構築しないでください。代わりに、常に返されるファセット数の割合を使用してください。 |
percentage |
バケット値に一致する結果の割合。戻り値は (0 ~ 100] の範囲で、小数部分がある場合は整数に切り捨てられます。値が明示的に返されない場合、0 に丸められるパーセンテージ値を表します。割合はすべての検索で返されますが、推定値です。割合は常に返されるため、カウントではなく割合をレンダリングする必要があります。 |
filter |
対応するバケットが選択されている場合に検索リクエストで渡されるフィルタ。 |
共用体フィールド bucket_value。ファセット化されたバケット bucket_value の範囲または値は、次のいずれかになります。 |
|
value |
|
ResponseDebugInfo
レスポンスに関するデバッグ情報。
| JSON 表現 |
|---|
{ "formattedDebugInfo": string } |
| フィールド | |
|---|---|
formattedDebugInfo |
表示用にフォーマットされた一般的なデバッグ情報。 |
ErrorInfo
レスポンスに関するエラー情報。
| JSON 表現 |
|---|
{
"errorMessages": [
{
object ( |
| フィールド | |
|---|---|
errorMessages[] |
|
ErrorMessage
ソース レスポンスごとのエラー メッセージ。
| JSON 表現 |
|---|
{
"source": {
object ( |
| フィールド | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
結果の件数情報
| JSON 表現 |
|---|
{
"sourceResultCounts": [
{
object ( |
| フィールド | |
|---|---|
sourceResultCounts[] |
結果のある各ソースの結果数情報。 |
SourceResultCount
ソースごとの結果数情報。
| JSON 表現 |
|---|
{ "source": { object ( |
| フィールド | |
|---|---|
source |
結果のカウント情報が関連付けられているソース。 |
hasMoreResults |
このソースの検索結果がさらにあるかどうか。 |
共用体フィールド
|
|
resultCountEstimate |
このソースの推定結果数。 |
resultCountExact |
このソースの正確な結果数。 |