- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- 承認スコープ
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- スニペット
- MatchRange
- Metadata
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- 試してみる
Cloud Search Query API は、ユーザーのクエリから最も関連性の高い結果を返す検索メソッドを提供します。検索結果は、Gmail や Google ドライブなどの Google Workspace アプリから取得することも、サードパーティからインデックスに登録したデータから取得することもできます。
注: この API を実行するには、標準のエンドユーザー アカウントが必要です。サービス アカウントは Query 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 です。 |
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
Search API レスポンス。
JSON 表現 |
---|
{ "queryInterpretation": { object ( |
フィールド | |
---|---|
queryInterpretation |
ユーザークエリのクエリ解釈結果。クエリ解釈が無効になっている場合は空です。 |
results[] |
検索クエリの結果。 |
structuredResults[] |
ユーザークエリの構造化結果。これらの結果は pageSize にカウントされません。 |
spellResults[] |
クエリのスペル候補。 |
facetResults[] |
繰り返しのファセット結果。 |
hasMoreResults |
クエリに一致する検索結果が他にもあるかどうか。 |
debugInfo |
レスポンスに関するデバッグ情報。 |
errorInfo |
レスポンスに関するエラー情報。 |
resultCounts |
結果数の詳細情報。 |
共用体フィールド
システムがすべてのドキュメントを検索できないまれなケースでは、クエリを再実行します。 |
|
resultCountEstimate |
このクエリの推定結果数。 |
resultCountExact |
このクエリの正確な結果数。 |
認可スコープ
以下のいずれかの OAuth スコープが必要です。
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
詳しくは、認可ガイドをご覧ください。
QueryInterpretationOptions
オプションを使用してユーザーのクエリを解釈します。
JSON 表現 |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
フィールド | |
---|---|
disableNlInterpretation |
クエリの自然言語(NL)解釈を無効にするフラグ。デフォルトは false です。自然言語解釈を無効にするには、true に設定します。NL 解釈は、事前定義されたデータソースにのみ適用されます。 |
enableVerbatimMode |
このフラグを有効にすると、クエリの自然言語(NL)解釈、補足結果の取得、カスタムを含む類義語の使用など、すべての内部最適化が無効になります。2 つのフラグのいずれかが true の場合、Nl 解釈は無効になります。 |
disableSupplementalResults |
このフラグは、クエリの補足結果を無効にするために使用します。SearchApplication レベルで選択された補足結果の設定が True に設定されている場合は、その設定が優先されます。 |
QueryInterpretation
JSON 表現 |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
フィールド | |
---|---|
interpretedQuery |
検索で使用されたクエリの解釈。たとえば、「山田さんからのメール」という自然言語の意図を含むクエリは、「from:山田 source:mail」と解釈されます。理由が NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY の場合、このフィールドは入力されません。 |
interpretationType |
|
reason |
クエリの解釈の理由。解釈タイプが NONE でない場合、このフィールドは UNSPECIFIED になりません。 |
QueryInterpretation.InterpretationType
列挙型 | |
---|---|
NONE |
検索結果の取得には、自然言語の解釈も、クエリのより広範なバージョンも使用されません。 |
BLEND |
元のクエリの結果は他の結果と統合されます。これらの他の結果を元のクエリの結果と統合する理由は、下の [理由] フィールドに入力されます。 |
REPLACE |
元のクエリの結果が置き換えられます。元のクエリの結果を置き換える理由は、下の [理由] フィールドに入力されます。 |
QueryInterpretation.Reason
列挙型 | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
クエリの自然言語解釈を使用して、検索結果を取得します。 |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
クエリとドキュメントの語句の類似性を使用して、ユーザーのクエリに対して十分な結果が見つからなかった場合に、クエリを部分的に拡張して追加の検索結果を取得します。この場合、解釈されたクエリは空になります。 |
SearchResult
ドキュメントのインデックス登録情報を含む結果。
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
スニペットの一致範囲([開始、終了])。
JSON 表現 |
---|
{ "start": integer, "end": integer } |
フィールド | |
---|---|
start |
スニペット内の一致の開始位置。 |
end |
スニペットの一致の終了。 |
メタデータ
一致した検索結果のメタデータ。
JSON 表現 |
---|
{ "source": { object ( |
フィールド | |
---|---|
source |
結果の命名されたソース(Gmail など)。 |
mimeType |
検索結果の MIME タイプ。 |
thumbnailUrl |
結果のサムネイル URL。 |
owner |
検索結果のドキュメントまたはオブジェクトのオーナー(通常は作成者)。 |
createTime |
検索結果に表示されるこのドキュメントまたはオブジェクトの作成日時。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
検索結果のオブジェクトの最終更新日。アイテムで設定されていない場合、ここで返される値は空になります。新鮮度の計算に RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
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 表現 |
---|
{
"person": {
object ( |
フィールド | |
---|---|
person |
人物を表します。 |
SpellResult
JSON 表現 |
---|
{ "suggestedQuery": string } |
フィールド | |
---|---|
suggestedQuery |
クエリのスペル候補。 |
FacetResult
ソース固有のファセット レスポンス
JSON 表現 |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
フィールド | |
---|---|
sourceName |
ファセット結果が返されるソース名。空白にはできません。 |
objectType |
ファセット結果が返されるオブジェクト タイプ。これは空でもかまいません。 |
operatorName |
ファセット処理に選択した演算子の名前。@see cloudsearch.SchemaPropertyOptions |
buckets[] |
対応するフィルタを含む結果が少なくとも 1 つ含まれるレスポンスの値の FacetBuckets。 |
FacetBucket
ファセットのバケットは、オペレーションの基本単位です。バケットは、バケット化されたフィールドのタイプに応じて、単一の値または連続する値の範囲で構成できます。現在、FacetBucket はレスポンス オブジェクトを返すためにのみ使用されます。
フィールド | |
---|---|
count |
バケット値に一致する結果の数。検索結果の数が正確であることが確認された場合にのみ、検索結果の数が返されます。Cloud Search では、どのクエリでもファセット数が保証されるわけではありません。また、同じクエリでも、ファセット数が断続的にしか表示されない場合があります。ファセット数の存在に依存関係を構築しないでください。代わりに、常に返されるファセット数の割合を使用してください。 |
percentage |
バケット値に一致する結果の割合。戻り値は [0 ~ 100] の範囲で、小数の場合は整数に切り捨てられます。値が明示的に返されない場合、0 に丸められた割合値を表します。割合はすべての検索で返されますが、あくまでも推定値です。常に割合が返されるため、カウントではなく割合をレンダリングする必要があります。 |
filter |
対応するバケットが選択されている場合に検索リクエストで渡されるフィルタ。 |
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 ( |