- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- Metadane
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Wypróbuj
Interfejs Cloud Search Query API udostępnia metodę wyszukiwania, która zwraca najbardziej trafne wyniki dla zapytania użytkownika. Wyniki mogą pochodzić z aplikacji Google Workspace, takich jak Gmail czy Dysk Google, lub z danych zindeksowanych przez Ciebie z zewnętrznych źródeł.
Uwaga: do wykonania tej operacji wymagane jest standardowe konto użytkownika. Konto usługi nie może bezpośrednio wykonywać żądań do interfejsu Query API. Aby używać konta usługi do wykonywania zapytań, skonfiguruj przekazywanie uprawnień w całej domenie 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 ( |
Pola | |
---|---|
requestOptions |
opcje zapytania, takie jak aplikacja wyszukiwania i strefa czasowa użytkownika; |
query |
Nieprzetworzony ciąg zapytania. Informacje o obsługiwanych operatorach wyszukiwania znajdziesz w artykule Zawężanie wyszukiwania za pomocą operatorów. |
pageSize |
Maksymalna liczba wyników wyszukiwania zwracanych na jednej stronie. Prawidłowe wartości to od 1 do 100 (obustronnie domknięte). Wartością domyślną jest 10. Minimalna wartość to 50, jeśli żądane są wyniki poza zakresem 2000. |
start |
Początkowy indeks wyników. |
dataSourceRestrictions[] |
Źródła danych, których chcesz używać do wysyłania zapytań. Jeśli nie zostaną określone, zostaną użyte wszystkie źródła danych z bieżącej aplikacji wyszukiwania. |
facetOptions[] |
|
sortOptions |
opcje sortowania wyników wyszukiwania; |
queryInterpretationOptions |
opcji interpretacji zapytania użytkownika. |
contextAttributes[] |
atrybuty kontekstu zapytania, które zostaną użyte do dostosowania 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 ( |
Pola | |
---|---|
queryInterpretation |
Wynik interpretacji zapytania użytkownika. Pusty, jeśli interpretacja zapytań jest wyłączona. |
results[] |
Wyniki wyszukiwania |
structuredResults[] |
uporządkowane wyniki dla zapytania użytkownika; Te wyniki nie są wliczane do rozmiaru strony. |
spellResults[] |
Sugerowana pisownia zapytania. |
facetResults[] |
powtarzające się wyniki filtrowania; |
hasMoreResults |
Czy są jeszcze inne wyniki wyszukiwania pasujące do zapytania. |
debugInfo |
Informacje o debugowaniu odpowiedzi. |
errorInfo |
Informacje o błędzie odpowiedzi. |
resultCounts |
Rozwinięte informacje o liczbie wyników |
Pole unii
W rzadkich przypadkach, gdy system nie może przeszukać wszystkich dokumentów, ponownie uruchom zapytanie. |
|
resultCountEstimate |
Szacunkowa liczba wyników dla tego zapytania. |
resultCountExact |
Dokładna liczba wyników dla tego zapytania. |
Zakresy autoryzacji
Wymaga jednego z tych zakresów OAuth:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
Więcej informacji znajdziesz w przewodniku dotyczącym autoryzacji.
QueryInterpretationOptions
opcje interpretowania zapytania użytkownika.
Zapis JSON |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
Pola | |
---|---|
disableNlInterpretation |
Flaga do wyłączania interpretacji zapytań w języku naturalnym. Wartość domyślna to false. Aby wyłączyć interpretację w języku naturalnym, ustaw wartość na true. Interpretacja NL dotyczy tylko wstępnie zdefiniowanych źródeł danych. |
enableVerbatimMode |
Włączenie tego parametru spowoduje wyłączenie wszystkich optymalizacji wewnętrznych, takich jak interpretacja zapytań w języku naturalnym, pobieranie dodatkowych wyników i używanie synonimów, w tym niestandardowych. Interpretacja nl zostanie wyłączona, jeśli jeden z tych 2 flag jest ustawiony na „Prawda”. |
disableSupplementalResults |
Użyj tej flagi, aby wyłączyć wyniki uzupełniające dla zapytania. Ustawienie wyników uzupełniających wybrane na poziomie SearchApplication ma pierwszeństwo, jeśli ma wartość Prawda. |
QueryInterpretation
Zapis JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
Pola | |
---|---|
interpretedQuery |
Interpretacja zapytania użytego w wyszukiwaniu. Na przykład zapytania z intencją wyrażoną w języku naturalnym, takie jak „e-mail od Jana”, będą interpretowane jako „from:john source:mail”. To pole nie będzie wypełnione, gdy przyczyną jest NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
Powód interpretacji zapytania. To pole nie będzie puste, jeśli typ interpretacji nie jest NONE. |
QueryInterpretation.InterpretationType
Wartości w polu enum | |
---|---|
NONE |
Do pobrania wyników wyszukiwania nie jest używana ani interpretacja w języku naturalnym, ani szersza wersja zapytania. |
BLEND |
Wyniki pierwotnego zapytania są łączone z innymi wynikami. Powód połączenia tych wyników z wynikami z pierwotnego zapytania jest podany w polu „Powód” poniżej. |
REPLACE |
Wyniki pierwotnego zapytania zostaną zastąpione. W polu „Powód” poniżej podano powód zastąpienia wyników pierwotnego zapytania. |
QueryInterpretation.Reason
Wartości w polu enum | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
Do pobierania wyników wyszukiwania służy interpretacja zapytania w języku naturalnym. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
Podobieństwa między zapytaniem a dokumentami są używane do selektywnego poszerzania zapytania w celu uzyskania dodatkowych wyników wyszukiwania, ponieważ nie udało się znaleźć wystarczającej liczby wyników dla zapytania użytkownika. W tym przypadku zainterpretowane zapytanie będzie puste. |
SearchResult
Wyniki zawierające zindeksowane informacje o dokumencie.
Zapis JSON |
---|
{ "title": string, "url": string, "snippet": { object ( |
Pola | |
---|---|
title |
Tytuł wyniku wyszukiwania. |
url |
Adres URL wyniku wyszukiwania. Adres URL zawiera przekierowanie Google do rzeczywistego produktu. Ten adres URL jest podpisany i nie należy go zmieniać. |
snippet |
Konkatenacja wszystkich fragmentów (podsumowań) dostępnych dla tego wyniku. |
metadata |
metadanych wyniku wyszukiwania. |
clusteredResults[] |
Jeśli źródło jest pogrupowane, podaj listę pogrupowanych wyników. Wyniki będą grupowane tylko na 1 poziomie. Jeśli bieżące źródło nie jest włączone do grupowania, to pole będzie puste. |
debugInfo |
Informacje o debugowaniu dotyczące tego wyniku wyszukiwania. |
Krótki opis
Krótki opis wyniku wyszukiwania, który podsumowuje zawartość strony wyników.
Zapis JSON |
---|
{
"snippet": string,
"matchRanges": [
{
object ( |
Pola | |
---|---|
snippet |
Fragment dokumentu. Fragment dokumentu. Może zawierać znak HTML z escapowaniem, który należy usunąć przed renderowaniem. |
matchRanges[] |
Pasujące zakresy w fragmentach kodu. |
MatchRange
Dopasowany zakres fragmentu [start, end].
Zapis JSON |
---|
{ "start": integer, "end": integer } |
Pola | |
---|---|
start |
Pozycja początkowa dopasowania w fragmentie. |
end |
Koniec dopasowania w fragmentie kodu. |
Metadane
metadanych pasującego wyniku wyszukiwania.
Zapis JSON |
---|
{ "source": { object ( |
Pola | |
---|---|
source |
Nazwane źródło wyniku, np. Gmail. |
mimeType |
Typ MIME wyniku wyszukiwania. |
thumbnailUrl |
Adres URL miniatury wyniku. |
owner |
właściciel (zazwyczaj twórca) dokumentu lub obiektu w wyniku wyszukiwania. |
createTime |
Czas utworzenia tego dokumentu lub obiektu w wyniku wyszukiwania. Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: |
updateTime |
Data ostatniej modyfikacji obiektu w wyniku wyszukiwania. Jeśli nie jest ustawiony w produkcie, zwracana wartość jest pusta. Jeśli do obliczania świeżości używany jest parametr Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: |
fields[] |
Indeksowane pola w uporządkowanych danych, zwracane jako ogólna nazwana właściwość. |
displayOptions |
opcje określające sposób wyświetlania wyniku wyszukiwania uporządkowanych danych. |
objectType |
Typ obiektu w wyniku wyszukiwania. |
ResultDisplayMetadata
Zapis JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
Pola | |
---|---|
objectTypeLabel |
Etykieta wyświetlania obiektu. |
metalines[] |
Treść metalinii, która ma się wyświetlać wraz z wynikiem. |
ResultDisplayMetadata.ResultDisplayLine
Zbiór pól, które tworzą wyświetlaną pozycję
Zapis JSON |
---|
{
"fields": [
{
object ( |
Pola | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
Wyświetlane pola w wynikach zapytania.
Zapis JSON |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
Pola | |
---|---|
label |
Etykieta wyświetlania właściwości. |
operatorName |
Nazwa operatora obiektu. |
property |
Para nazwa-wartość właściwości. |
ResultDebugInfo
Informacje o debugowaniu dotyczące wyniku.
Zapis JSON |
---|
{ "formattedDebugInfo": string } |
Pola | |
---|---|
formattedDebugInfo |
Ogólne informacje debugowania sformatowane do wyświetlania. |
StructuredResult
Ustrukturyzowane wyniki zwracane w ramach żądania wyszukiwania.
Zapis JSON |
---|
{
"person": {
object ( |
Pola | |
---|---|
person |
reprezentacja osoby, |
SpellResult
Zapis JSON |
---|
{ "suggestedQuery": string } |
Pola | |
---|---|
suggestedQuery |
Sugerowana pisownia zapytania. |
FacetResult
Odpowiedź dotycząca atrybutu źródła
Zapis JSON |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
Pola | |
---|---|
sourceName |
Nazwa źródła, dla którego zwracane są wyniki. nie może być puste. |
objectType |
Typ obiektu, dla którego zwracane są wyniki posortowania. Może być puste. |
operatorName |
Nazwa operatora wybranego do podziału na podgrupy. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets dla wartości w odpowiedzi zawierających co najmniej 1 wynik z odpowiednim filtrem. |
FacetBucket
W przypadku osi podstawowej grupa jest podstawową jednostką działania. W zależności od typu pola zagregowanego grupa może zawierać jedną wartość LUB ciągły zakres wartości. FacetBucket jest obecnie używany tylko do zwracania obiektu odpowiedzi.
Pola | |
---|---|
count |
Liczba wyników pasujących do wartości zasobnika. Wykazywana liczba wyników wyszukiwania jest dokładna tylko wtedy, gdy jest to możliwe. Cloud Search nie gwarantuje liczby atrybutów dla żadnego zapytania, a liczby atrybutów mogą być obecne tylko sporadycznie, nawet w przypadku identycznych zapytań. Nie twórz zależności od istnienia liczby atrybutów. Zamiast tego używaj odsetków liczby atrybutów, które są zawsze zwracane. |
percentage |
Odsetek wyników pasujących do wartości zasobnika. Zwrócona wartość mieści się w przedziale (0–100] i jest zaokrąglana w dół do liczby całkowitej, jeśli jest ułamkiem. Jeśli wartość nie jest zwracana wprost, oznacza wartość procentową zaokrągloną do 0. Odsetki są zwracane dla wszystkich wyszukiwań, ale są tylko szacunkowe. Ponieważ wartości procentowe są zawsze zwracane, renderowanie powinno się odbywać na podstawie wartości procentowych, a nie liczby. |
filter |
Filtr, który ma być przekazany w żądaniu wyszukiwania, jeśli wybrano odpowiedni zasób. |
value |
|
ResponseDebugInfo
Informacje o debugowaniu odpowiedzi.
Zapis JSON |
---|
{ "formattedDebugInfo": string } |
Pola | |
---|---|
formattedDebugInfo |
Ogólne informacje debugowania sformatowane do wyświetlania. |
ErrorInfo
informacje o błędzie odpowiedzi;
Zapis JSON |
---|
{
"errorMessages": [
{
object ( |
Pola | |
---|---|
errorMessages[] |
|
ErrorMessage
Komunikat o błędzie na odpowiedź źródła.
Zapis JSON |
---|
{
"source": {
object ( |
Pola | |
---|---|
source |
|
errorMessage |
|
ResultCounts
Informacje o liczbie wyników
Zapis JSON |
---|
{
"sourceResultCounts": [
{
object ( |
Pola | |
---|---|
sourceResultCounts[] |
Informacje o liczbie wyników dla każdego źródła z wynikami. |
SourceResultCount
Informacje o liczbie wyników z poszczególnych źródeł.
Zapis JSON |
---|
{ "source": { object ( |
Pola | |
---|---|
source |
Źródło, z którym powiązane są informacje o liczbie wyników. |
hasMoreResults |
Czy w przypadku tego źródła jest więcej wyników wyszukiwania. |
Pole unii
|
|
resultCountEstimate |
Szacowana liczba wyników w tym źródle. |
resultCountExact |
Dokładna liczba wyników dla tego źródła. |