Method: query.search

Interfejs Cloud Search Query API udostępnia metodę wyszukiwania, która zwraca najtrafniejsze wyniki zapytania użytkownika. Wyniki mogą pochodzić z aplikacji Google Workspace, takich jak Gmail czy Dysk Google, lub z danych zindeksowanych przez inną firmę.

Uwaga: do uruchomienia tego interfejsu API wymagane jest standardowe konto użytkownika. Konto usługi nie może bezpośrednio wykonywać żądań interfejsu Query API. aby używać konta usługi do wykonywania zapytań, skonfiguruj przekazywanie uprawnień w całej domenie w Google Workspace.

Żądanie HTTP

POST https://cloudsearch.googleapis.com/v1/query/search

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "requestOptions": {
    object (RequestOptions)
  },
  "query": string,
  "pageSize": integer,
  "start": integer,
  "dataSourceRestrictions": [
    {
      object (DataSourceRestriction)
    }
  ],
  "facetOptions": [
    {
      object (FacetOptions)
    }
  ],
  "sortOptions": {
    object (SortOptions)
  },
  "queryInterpretationOptions": {
    object (QueryInterpretationOptions)
  },
  "contextAttributes": [
    {
      object (ContextAttribute)
    }
  ]
}
Pola
requestOptions

object (RequestOptions)

Opcje żądań, takie jak wyszukiwarka czy strefa czasowa użytkownika.

query

string

Nieprzetworzony ciąg zapytania. Obsługiwane operatory wyszukiwania znajdziesz w sekcji Zawężanie wyszukiwania za pomocą operatorów.

pageSize

integer

Maksymalna liczba wyników wyszukiwania do zwrócenia na jednej stronie. Prawidłowe wartości mieszczą się w zakresie od 1 do 100 włącznie. Wartość domyślna to 10. Wartość minimalna to 50, jeśli wymagane są wyniki powyżej 2000.

start

integer

Początkowy indeks wyników.

dataSourceRestrictions[]

object (DataSourceRestriction)

Źródła, które mają być używane przy wysyłaniu zapytań. Jeśli nie podasz żadnej wartości, zostaną użyte wszystkie źródła danych z bieżącej wyszukiwarki.

facetOptions[]

object (FacetOptions)

sortOptions

object (SortOptions)

Opcje sortowania wyników wyszukiwania

queryInterpretationOptions

object (QueryInterpretationOptions)

do interpretacji zapytania użytkownika.

contextAttributes[]

object (ContextAttribute)

Atrybuty kontekstu żądania, które będą używane do dostosowywania rankingu wyników wyszukiwania. Maksymalna liczba elementów to 10.

Treść odpowiedzi

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Odpowiedź interfejsu API wyszukiwania.

Zapis JSON
{
  "queryInterpretation": {
    object (QueryInterpretation)
  },
  "results": [
    {
      object (SearchResult)
    }
  ],
  "structuredResults": [
    {
      object (StructuredResult)
    }
  ],
  "spellResults": [
    {
      object (SpellResult)
    }
  ],
  "facetResults": [
    {
      object (FacetResult)
    }
  ],
  "hasMoreResults": boolean,
  "debugInfo": {
    object (ResponseDebugInfo)
  },
  "errorInfo": {
    object (ErrorInfo)
  },
  "resultCounts": {
    object (ResultCounts)
  },

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
Pola
queryInterpretation

object (QueryInterpretation)

Wynik interpretacji zapytania użytkownika. Pole puste, jeśli interpretacja zapytań jest wyłączona.

results[]

object (SearchResult)

Wyniki zapytania.

structuredResults[]

object (StructuredResult)

Uporządkowane wyniki w odpowiedzi na zapytanie użytkownika. Te wyniki nie są wliczane do rozmiaru pageSize.

spellResults[]

object (SpellResult)

Sugerowana pisownia zapytania.

facetResults[]

object (FacetResult)

Powtórzone wyniki aspektów.

hasMoreResults

boolean

Czy więcej wyników wyszukiwania pasuje do zapytania.

debugInfo

object (ResponseDebugInfo)

Dane debugowania dotyczące odpowiedzi.

errorInfo

object (ErrorInfo)

Informacje o błędzie w odpowiedzi.

resultCounts

object (ResultCounts)

Rozwinięte informacje o liczbie wyników.

Pole sumy result_count. Łączna liczba wyników we wszystkich żądanych źródłach danych. Pomijane, jeśli w zbiorze źródeł danych, których dotyczy zapytanie, uwzględnione są wstępnie zdefiniowane źródła. Liczba wyników może być szacunkowa, a nie dokładna, w tych sytuacjach:

  • Gdy zapytanie zawiera więcej niż 2 wyrażenia w wyrażeniu, np. „liczba wyników dokładne” w cudzysłowach.

  • Liczba niepowtarzalnych list kontroli dostępu do wyników wyszukiwania do oceny jest zbyt duża, aby ją obliczyć z rozsądnym czasem oczekiwania.

W rzadkich przypadkach, gdy system nie może przeszukać wszystkich dokumentów, uruchom zapytanie ponownie. result_count może mieć tylko jedną z tych wartości:

resultCountEstimate

string (int64 format)

Szacowana liczba wyników dla tego zapytania.

resultCountExact

string (int64 format)

Dokładna liczba wyników dla tego zapytania.

Zakresy autoryzacji

Wymaga jednego z tych zakresów protokołu OAuth:

  • https://www.googleapis.com/auth/cloud_search.query
  • https://www.googleapis.com/auth/cloud_search

Więcej informacji znajdziesz w przewodniku na temat autoryzacji.

QueryInterpretationOptions

do interpretacji zapytania użytkownika.

Zapis JSON
{
  "disableNlInterpretation": boolean,
  "enableVerbatimMode": boolean,
  "disableSupplementalResults": boolean
}
Pola
disableNlInterpretation

boolean

Zgłoś, aby wyłączyć interpretację zapytań w języku naturalnym (NL). Wartość domyślna to false (fałsz). Ustaw wartość true, aby wyłączyć interpretację w języku naturalnym. Interpretacja NL ma zastosowanie tylko do wstępnie zdefiniowanych źródeł danych.

enableVerbatimMode

boolean

Włącz tę flagę, aby wyłączyć wszystkie optymalizacje wewnętrzne, takie jak interpretacja zapytań przy użyciu języka naturalnego (NL), pobieranie dodatkowych wyników oraz używanie synonimów, w tym niestandardowych. Interpretacja Nl jest wyłączona, jeśli jedna z dwóch flag jest słuszna.

disableSupplementalResults

boolean

Za pomocą tej flagi możesz wyłączyć wyniki uzupełniające dla zapytania. Ustawienie wyników dodatkowych wybranych na poziomie SearchApplication ma pierwszeństwo, jeśli ma wartość Prawda.

QueryInterpretation

Zapis JSON
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason)
}
Pola
interpretedQuery

string

Interpretacja zapytania użytego w wyszukiwaniu. na przykład zapytania z intencją języka naturalnego, takie jak „e-mail od jana”. będzie interpretowany jako „from:jan źródło:poczta”. To pole nie będzie wypełnione, jeśli przyczyna: NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY.

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

Przyczyna interpretacji zapytania. Jeśli typ interpretacji jest inny niż BRAK, to pole nie będzie mieć wartości UNSPECIFIED.

QueryInterpretation.InterpretationType

Wartości w polu enum
NONE Do pobierania wyników wyszukiwania nie jest używana interpretacja w języku naturalnym, ani szersza wersja zapytania.
BLEND Wyniki pierwotnego zapytania są łączone z innymi wynikami. Przyczyna połączenia tych innych wyników z wynikami pierwotnego zapytania jest wypełniana w polu „Przyczyna”. poniżej.
REPLACE Wyniki z pierwotnego zapytania zostaną zastąpione. Przyczyna zastąpienia wyników z pierwotnego zapytania jest podana w kolumnie „Przyczyna” poniżej.

QueryInterpretation.Reason

Wartości w polu enum
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT Do pobrania wyników wyszukiwania używana jest interpretacja zapytania w języku naturalnym.
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY Podobieństwo haseł w zapytaniach i dokumentach służy do selektywnego poszerzania zapytania w celu pobrania dodatkowych wyników wyszukiwania, ponieważ nie znaleziono wystarczającej liczby wyników dla zapytania użytkownika. Zinterpretowane zapytanie będzie puste w tym przypadku.

SearchResult

Wyniki zawierające zindeksowane informacje dotyczące dokumentu.

Zapis JSON
{
  "title": string,
  "url": string,
  "snippet": {
    object (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
Pola
title

string

Tytuł wyniku wyszukiwania.

url

string

Adres URL wyniku wyszukiwania. URL zawiera przekierowanie Google do właściwego produktu. Ten adres URL jest podpisany i nie należy go zmieniać.

snippet

object (Snippet)

Połączenie wszystkich fragmentów (podsumowań) dostępnych w przypadku danego wyniku.

metadata

object (Metadata)

metadanych wyniku wyszukiwania.

clusteredResults[]

object (SearchResult)

Jeśli źródło jest klastrowane, podaj listę wyników pogrupowanych. Będzie tylko 1 poziom klastrowanych wyników. Jeśli w bieżącym źródle nie włączono grupowania, to pole będzie puste.

debugInfo

object (ResultDebugInfo)

Dane debugowania dotyczące tego wyniku wyszukiwania.

Krótki opis

Fragment wyniku wyszukiwania, który podsumowuje zawartość strony wynikowej.

Zapis JSON
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
Pola
snippet

string

Fragment dokumentu. Fragment dokumentu. Może zawierać znak HTML ze zmianą znaczenia, bez którego nie powinno być zmiany znaczenia przed renderowaniem.

matchRanges[]

object (MatchRange)

Pasujące zakresy we fragmencie kodu.

MatchRange

Dopasowany zakres fragmentu kodu [start, end).

Zapis JSON
{
  "start": integer,
  "end": integer
}
Pola
start

integer

Pozycja początkowa dopasowania we fragmencie kodu.

end

integer

Koniec dopasowania we fragmencie.

Metadane

metadanych pasującego wyniku wyszukiwania.

Zapis JSON
{
  "source": {
    object (Source)
  },
  "mimeType": string,
  "thumbnailUrl": string,
  "owner": {
    object (Person)
  },
  "createTime": string,
  "updateTime": string,
  "fields": [
    {
      object (NamedProperty)
    }
  ],
  "displayOptions": {
    object (ResultDisplayMetadata)
  },
  "objectType": string
}
Pola
source

object (Source)

Nazwane źródło wyniku, np. Gmail.

mimeType

string

Typ MIME wyniku wyszukiwania.

thumbnailUrl

string

Adres URL miniatury wyniku.

owner

object (Person)

właściciel (zwykle twórca) dokumentu lub obiektu wyniku wyszukiwania.

createTime

string (Timestamp format)

Czas utworzenia tego dokumentu lub obiektu w wynikach wyszukiwania.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Data ostatniej modyfikacji obiektu w wynikach wyszukiwania. Jeśli nie jest ustawiony w elemencie, zwracana tutaj wartość jest pusta. Jeśli zasada updateTime jest używana do obliczania aktualności wyników, ale nie jest ustawiona, ta wartość jest domyślnie ustawiona na 2 lata od bieżącego czasu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

fields[]

object (NamedProperty)

Zindeksowane pola w uporządkowanych danych zwracane jako ogólna nazwana właściwość.

displayOptions

object (ResultDisplayMetadata)

opcje określające sposób wyświetlania wyników wyszukiwania uporządkowanych danych.

objectType

string

Typ obiektu wyniku wyszukiwania.

ResultDisplayMetadata

Zapis JSON
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
Pola
objectTypeLabel

string

Etykieta wyświetlana obiektu.

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

Treść metalinii, która ma być wyświetlana w wyniku.

ResultDisplayMetadata.ResultDisplayLine

Zbiór pól, które składają się na wyświetlaną linię

Zapis JSON
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
Pola
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

Wyświetl pola wyników query.search

Zapis JSON
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
Pola
label

string

Etykieta wyświetlana usługi.

operatorName

string

Nazwa operatora właściwości.

property

object (NamedProperty)

Para wartości nazwy właściwości.

ResultDebugInfo

Dane debugowania dotyczące wyniku.

Zapis JSON
{
  "formattedDebugInfo": string
}
Pola
formattedDebugInfo

string

Ogólne dane debugowania sformatowane do wyświetlania.

StructuredResult

Uporządkowane wyniki zwracane w ramach żądania wyszukiwania.

Zapis JSON
{
  "person": {
    object (Person)
  }
}
Pola
person

object (Person)

Reprezentacja osoby

SpellResult

Zapis JSON
{
  "suggestedQuery": string
}
Pola
suggestedQuery

string

Sugerowana pisownia zapytania.

FacetResult

Odpowiedź aspektu określonego dla źródła

Zapis JSON
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
Pola
sourceName

string

Nazwa źródła, dla którego zwracane są wyniki aspektu. To pole nie będzie puste.

objectType

string

Typ obiektu, dla którego zwracane są wyniki aspektu. Pole może być puste.

operatorName

string

Nazwa operatora wybranego na potrzeby określania aspektów. @patrz cloudsearch.Schema PropertyOptions

buckets[]

object (FacetBucket)

FacetBuckets dla wartości w odpowiedzi zawierających co najmniej jeden wynik z odpowiednim filtrem.

FacetBucket

Zasobnik w aspektie jest podstawową jednostką działania. Zależnie od typu pola przypisanego do zasobnika zasobnik może zawierać jedną wartość LUB przylegający zakres wartości. FacetBucket jest obecnie używane tylko do zwracania obiektu odpowiedzi.

Zapis JSON
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },
  "value": {
    object (Value)
  }
}
Pola
count

integer

Liczba wyników, które pasują do wartości segmentu. Liczby są zwracane tylko w przypadku wyszukiwań, gdy ich dokładność jest gwarantowana. Cloud Search nie gwarantuje, że liczby aspektów dla żadnego zapytania są liczone. Mogą one występować tylko okresowo, nawet w przypadku identycznych zapytań. Nie twórz zależności od istnienia liczby aspektów. zamiast tego użyj wartości procentowych wycofywania aspektu, które są zawsze zwracane.

percentage

integer

Odsetek wyników pasujących do wartości zasobnika. Zwracana wartość mieści się w zakresie od 0 do 100 i jest zaokrąglana w dół do liczby całkowitej (jeśli jest ułamkiem). Jeśli wartość nie jest zwracana bezpośrednio, jest to wartość procentowa zaokrąglana do 0. Wartości procentowe są zwracane dla wszystkich wyszukiwań, ale są wartościami szacunkowymi. Wartości procentowe są zawsze zwracane, więc zamiast liczników musisz renderować wartości procentowe.

filter

object (Filter)

Filtr przekazywany w żądaniu wyszukiwania, jeśli wybrano odpowiedni zasobnik.

value

object (Value)

ResponseDebugInfo

Dane debugowania dotyczące odpowiedzi.

Zapis JSON
{
  "formattedDebugInfo": string
}
Pola
formattedDebugInfo

string

Ogólne dane debugowania sformatowane do wyświetlania.

ErrorInfo

Informacje o błędzie w odpowiedzi.

Zapis JSON
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
Pola
errorMessages[]

object (ErrorMessage)

ErrorMessage

Komunikat o błędzie przypisany do każdej odpowiedzi źródłowej.

Zapis JSON
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
Pola
source

object (Source)

errorMessage

string

ResultCounts

Informacje o liczbie wyników

Zapis JSON
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
Pola
sourceResultCounts[]

object (SourceResultCount)

Informacje o liczbie wyników dla każdego źródła z wynikami.

SourceResultCount

Informacje o liczbie wyników według źródła.

Zapis JSON
{
  "source": {
    object (Source)
  },
  "hasMoreResults": boolean,

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
Pola
source

object (Source)

Źródło, z którym powiązane są informacje o liczbie wyników.

hasMoreResults

boolean

Określa, czy istnieje więcej wyników wyszukiwania dla tego źródła.

Pole sumy result_count.

result_count może mieć tylko jedną z tych wartości:

resultCountEstimate

string (int64 format)

Szacowana liczba wyników dla tego źródła.

resultCountExact

string (int64 format)

Dokładna liczba wyników dla tego źródła.