- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Fragment
- 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 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 ( |
Pola | |
---|---|
requestOptions |
Opcje żądań, takie jak wyszukiwarka czy strefa czasowa użytkownika. |
query |
Nieprzetworzony ciąg zapytania. Obsługiwane operatory wyszukiwania znajdziesz w sekcji Zawężanie wyszukiwania za pomocą operatorów. |
pageSize |
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 |
Początkowy indeks wyników. |
dataSourceRestrictions[] |
Ź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[] |
|
sortOptions |
Opcje sortowania wyników wyszukiwania |
queryInterpretationOptions |
do interpretacji zapytania użytkownika. |
contextAttributes[] |
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 ( |
Pola | |
---|---|
queryInterpretation |
Wynik interpretacji zapytania użytkownika. Pole puste, jeśli interpretacja zapytań jest wyłączona. |
results[] |
Wyniki zapytania. |
structuredResults[] |
Uporządkowane wyniki w odpowiedzi na zapytanie użytkownika. Te wyniki nie są wliczane do rozmiaru pageSize. |
spellResults[] |
Sugerowana pisownia zapytania. |
facetResults[] |
Powtórzone wyniki aspektów. |
hasMoreResults |
Czy więcej wyników wyszukiwania pasuje do zapytania. |
debugInfo |
Dane debugowania dotyczące odpowiedzi. |
errorInfo |
Informacje o błędzie w odpowiedzi. |
resultCounts |
Rozwinięte informacje o liczbie wyników. |
Pole sumy
W rzadkich przypadkach, gdy system nie może przeszukać wszystkich dokumentów, uruchom zapytanie ponownie. |
|
resultCountEstimate |
Szacowana liczba wyników dla tego zapytania. |
resultCountExact |
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 |
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 |
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 |
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 ( |
Pola | |
---|---|
interpretedQuery |
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 |
|
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 ( |
Pola | |
---|---|
title |
Tytuł wyniku wyszukiwania. |
url |
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 |
Połączenie wszystkich fragmentów (podsumowań) dostępnych w przypadku danego wyniku. |
metadata |
metadanych wyniku wyszukiwania. |
clusteredResults[] |
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 |
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 ( |
Pola | |
---|---|
snippet |
Fragment dokumentu. Fragment dokumentu. Może zawierać znak HTML ze zmianą znaczenia, bez którego nie powinno być zmiany znaczenia przed renderowaniem. |
matchRanges[] |
Pasujące zakresy we fragmencie kodu. |
MatchRange
Dopasowany zakres fragmentu kodu [start, end).
Zapis JSON |
---|
{ "start": integer, "end": integer } |
Pola | |
---|---|
start |
Pozycja początkowa dopasowania we fragmencie kodu. |
end |
Koniec dopasowania we fragmencie. |
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 (zwykle twórca) dokumentu lub obiektu wyniku wyszukiwania. |
createTime |
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: |
updateTime |
Data ostatniej modyfikacji obiektu w wynikach wyszukiwania. Jeśli nie jest ustawiony w elemencie, zwracana tutaj wartość jest pusta. Jeśli zasada Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
fields[] |
Zindeksowane pola w uporządkowanych danych zwracane jako ogólna nazwana właściwość. |
displayOptions |
opcje określające sposób wyświetlania wyników wyszukiwania uporządkowanych danych. |
objectType |
Typ obiektu wyniku wyszukiwania. |
ResultDisplayMetadata
Zapis JSON |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
Pola | |
---|---|
objectTypeLabel |
Etykieta wyświetlana obiektu. |
metalines[] |
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 ( |
Pola | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
Wyświetl pola wyników query.search
Zapis JSON |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
Pola | |
---|---|
label |
Etykieta wyświetlana usługi. |
operatorName |
Nazwa operatora właściwości. |
property |
Para wartości nazwy właściwości. |
ResultDebugInfo
Dane debugowania dotyczące wyniku.
Zapis JSON |
---|
{ "formattedDebugInfo": string } |
Pola | |
---|---|
formattedDebugInfo |
Ogólne dane debugowania sformatowane do wyświetlania. |
StructuredResult
Uporządkowane 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ź aspektu określonego dla ź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 aspektu. To pole nie będzie puste. |
objectType |
Typ obiektu, dla którego zwracane są wyniki aspektu. Pole może być puste. |
operatorName |
Nazwa operatora wybranego na potrzeby określania aspektów. @patrz cloudsearch.Schema PropertyOptions |
buckets[] |
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 ( |
Pola | |
---|---|
count |
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 |
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 |
Filtr przekazywany w żądaniu wyszukiwania, jeśli wybrano odpowiedni zasobnik. |
value |
|
ResponseDebugInfo
Dane debugowania dotyczące odpowiedzi.
Zapis JSON |
---|
{ "formattedDebugInfo": string } |
Pola | |
---|---|
formattedDebugInfo |
Ogólne dane debugowania sformatowane do wyświetlania. |
ErrorInfo
Informacje o błędzie w odpowiedzi.
Zapis JSON |
---|
{
"errorMessages": [
{
object ( |
Pola | |
---|---|
errorMessages[] |
|
ErrorMessage
Komunikat o błędzie przypisany do każdej odpowiedzi źródłowej.
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 według źródła.
Zapis JSON |
---|
{ "source": { object ( |
Pola | |
---|---|
source |
Źródło, z którym powiązane są informacje o liczbie wyników. |
hasMoreResults |
Określa, czy istnieje więcej wyników wyszukiwania dla tego źródła. |
Pole sumy
|
|
resultCountEstimate |
Szacowana liczba wyników dla tego źródła. |
resultCountExact |
Dokładna liczba wyników dla tego źródła. |