- HTTP-Anfrage
- Anfragetext
- Antworttext
- Autorisierungsbereiche
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- Metadaten
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Testen!
Die Cloud Search Query API bietet die Suchmethode, die die relevantesten Ergebnisse aus einer Nutzerabfrage zurückgibt. Die Ergebnisse können aus Google Workspace-Apps wie Gmail oder Google Drive stammen oder aus Daten, die Sie von einem Drittanbieter indexiert haben.
Hinweis:Für die Ausführung dieser API ist ein Standardendnutzerkonto erforderlich. Ein Dienstkonto kann keine Query API-Anfragen direkt ausführen. Wenn Sie ein Dienstkonto für Abfragen verwenden möchten, müssen Sie die domainweite Delegierung von Berechtigungen in Google Workspace einrichten.
HTTP-Anfrage
POST https://cloudsearch.googleapis.com/v1/query/search
Die URL verwendet die Syntax der gRPC-Transcodierung.
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "requestOptions": { object ( |
Felder | |
---|---|
requestOptions |
Anfrageoptionen wie die Suchanwendung und die Zeitzone des Nutzers. |
query |
Der Rohabfragestring. Informationen zu unterstützten Suchoperatoren finden Sie unter Suche mit Operatoren eingrenzen. |
pageSize |
Maximale Anzahl der Suchergebnisse, die auf einer Seite zurückgegeben werden sollen. Gültige Werte liegen zwischen 1 und 100. Der Standardwert ist 10. Der Mindestwert beträgt 50, wenn mehr als 2.000 Ergebnisse angefordert werden. |
start |
Startindex der Ergebnisse. |
dataSourceRestrictions[] |
Die Quellen, die für die Abfrage verwendet werden sollen. Wenn nicht angegeben, werden alle Datenquellen aus der aktuellen Suchanwendung verwendet. |
facetOptions[] |
|
sortOptions |
Optionen zum Sortieren der Suchergebnisse |
queryInterpretationOptions |
Optionen zur Interpretation der Nutzerabfrage. |
contextAttributes[] |
Kontextattribute für die Anfrage, die zum Anpassen des Rankings der Suchergebnisse verwendet werden. Die maximale Anzahl von Elementen ist 10. |
Antworttext
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
Die Antwort der Search API.
JSON-Darstellung |
---|
{ "queryInterpretation": { object ( |
Felder | |
---|---|
queryInterpretation |
Ergebnis der Abfrageauswertung für die Nutzerabfrage. Leer, wenn die Abfrageauswertung deaktiviert ist. |
results[] |
Ergebnisse einer Suchanfrage. |
structuredResults[] |
Strukturierte Ergebnisse für die Nutzerabfrage. Diese Ergebnisse werden nicht auf die pageSize angerechnet. |
spellResults[] |
Vorgeschlagene Schreibweise für die Suchanfrage. |
facetResults[] |
Wiederholte Attributergebnisse. |
hasMoreResults |
Gibt an, ob es weitere Suchergebnisse gibt, die der Suchanfrage entsprechen. |
debugInfo |
Informationen zur Fehlerbehebung bei der Antwort. |
errorInfo |
Fehlerinformationen zur Antwort. |
resultCounts |
Maximierte Informationen zur Ergebnisanzahl. |
Union-Feld
Sollte das System in seltenen Fällen nicht alle Dokumente durchsuchen können, führen Sie die Abfrage noch einmal aus. Für |
|
resultCountEstimate |
Die geschätzte Anzahl der Ergebnisse für diese Abfrage. |
resultCountExact |
Die genaue Anzahl der Ergebnisse für diese Abfrage. |
Autorisierungsbereiche
Erfordert einen der folgenden OAuth-Bereiche:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
Weitere Informationen finden Sie im Leitfaden zur Autorisierung.
QueryInterpretationOptions
Optionen zur Interpretation der Nutzerabfrage.
JSON-Darstellung |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
Felder | |
---|---|
disableNlInterpretation |
Mit diesem Flag wird die Interpretation von Abfragen in natürlicher Sprache deaktiviert. Standardmäßig ist „false“ festgelegt. Legen Sie „true“ fest, um die Interpretation natürlicher Sprache zu deaktivieren. Die NL-Interpretation gilt nur für vordefinierte Datenquellen. |
enableVerbatimMode |
Wenn Sie dieses Flag aktivieren, werden alle internen Optimierungen deaktiviert, z. B. die Interpretation von Suchanfragen in natürlicher Sprache, die Abfrage ergänzender Ergebnisse und die Verwendung von Synonyme, einschließlich benutzerdefinierter Synonyme. Die Nl-Interpretation wird deaktiviert, wenn eine der beiden Flags wahr ist. |
disableSupplementalResults |
Mit diesem Flag können Sie ergänzende Ergebnisse für eine Suchanfrage deaktivieren. Die Einstellung für ergänzende Ergebnisse, die auf Ebene der Suchanwendung ausgewählt wurde, hat Vorrang, wenn sie auf „Wahr“ gesetzt ist. |
QueryInterpretation
JSON-Darstellung |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
Felder | |
---|---|
interpretedQuery |
Die Interpretation der Suchanfrage. Suchanfragen mit natürlicher Sprache wie „E-Mail von Max“ werden beispielsweise als „from:max source:mail“ interpretiert. Dieses Feld wird nicht ausgefüllt, wenn der Grund NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY ist. |
interpretationType |
|
reason |
Der Grund für die Interpretation der Anfrage. Dieses Feld hat nicht den Wert „UNBESCHRIEBEN“, wenn der Interpretationstyp nicht „NONE“ ist. |
QueryInterpretation.InterpretationType
Enums | |
---|---|
NONE |
Weder die Interpretation in natürlicher Sprache noch eine allgemeinere Version der Suchanfrage werden verwendet, um die Suchergebnisse abzurufen. |
BLEND |
Die Ergebnisse der ursprünglichen Abfrage werden mit anderen Ergebnissen kombiniert. Der Grund für die Zusammenführung dieser anderen Ergebnisse mit den Ergebnissen der ursprünglichen Abfrage wird unten im Feld „Grund“ angegeben. |
REPLACE |
Die Ergebnisse der ursprünglichen Abfrage werden ersetzt. Der Grund für das Ersetzen der Ergebnisse aus der ursprünglichen Abfrage wird unten im Feld „Grund“ angegeben. |
QueryInterpretation.Reason
Enums | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
Die Suchergebnisse werden anhand der Interpretation der Suchanfrage in natürlicher Sprache abgerufen. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
Die Ähnlichkeit von Suchanfrage und Dokumentbegriffen wird verwendet, um die Suchanfrage selektiv zu erweitern und so zusätzliche Suchergebnisse abzurufen, da für die Suchanfrage des Nutzers nicht genügend Ergebnisse gefunden wurden. Die interpretierte Abfrage ist in diesem Fall leer. |
SearchResult
Ergebnisse mit indexierten Informationen für ein Dokument.
JSON-Darstellung |
---|
{ "title": string, "url": string, "snippet": { object ( |
Felder | |
---|---|
title |
Titel des Suchergebnisses. |
url |
Die URL des Suchergebnisses. Die URL enthält eine Google-Weiterleitung zum tatsächlichen Artikel. Diese URL ist signiert und sollte nicht geändert werden. |
snippet |
Die Konkatenierung aller Snippets (Zusammenfassungen), die für dieses Ergebnis verfügbar sind. |
metadata |
Metadaten des Suchergebnisses. |
clusteredResults[] |
Wenn die Quelle geclustert ist, geben Sie eine Liste der geclusterten Ergebnisse an. Es gibt nur eine Ebene mit geclusterten Ergebnissen. Wenn die aktuelle Quelle nicht für das Clustern aktiviert ist, ist dieses Feld leer. |
debugInfo |
Informationen zur Fehlerbehebung für dieses Suchergebnis. |
Snippet
Snippet des Suchergebnisses, in dem der Inhalt der Ergebnisseite zusammengefasst wird.
JSON-Darstellung |
---|
{
"snippet": string,
"matchRanges": [
{
object ( |
Felder | |
---|---|
snippet |
Das Snippet des Dokuments. Das Snippet des Dokuments. Kann maskierte HTML-Zeichen enthalten, die vor dem Rendern entkommentiert werden müssen. |
matchRanges[] |
Die übereinstimmenden Bereiche im Snippet. |
MatchRange
Übereinstimmender Bereich eines Snippets [start, end].
JSON-Darstellung |
---|
{ "start": integer, "end": integer } |
Felder | |
---|---|
start |
Startposition der Übereinstimmung im Snippet. |
end |
Ende der Übereinstimmung im Snippet. |
Metadaten
Metadaten eines übereinstimmenden Suchergebnisses.
JSON-Darstellung |
---|
{ "source": { object ( |
Felder | |
---|---|
source |
Die benannte Quelle für das Ergebnis, z. B. Gmail. |
mimeType |
MIME-Typ des Suchergebnisses. |
thumbnailUrl |
Die Thumbnail-URL des Ergebnisses. |
owner |
Eigentümer (in der Regel Ersteller) des Dokuments oder Objekts des Suchergebnisses. |
createTime |
Der Erstellungszeitpunkt dieses Dokuments oder Objekts im Suchergebnis. Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
updateTime |
Das Datum der letzten Änderung des Objekts im Suchergebnis. Wenn der Wert im Artikel nicht festgelegt ist, ist der hier zurückgegebene Wert leer. Wenn Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
fields[] |
Indexierte Felder in strukturierten Daten, die als generische benannte Property zurückgegeben werden. |
displayOptions |
Optionen, die festlegen, wie ein Suchergebnis mit strukturierten Daten angezeigt wird. |
objectType |
Der Objekttyp des Suchergebnisses. |
ResultDisplayMetadata
JSON-Darstellung |
---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
Felder | |
---|---|
objectTypeLabel |
Das Anzeigelabel für das Objekt. |
metalines[] |
Der Inhalt der Metazeilen, der mit dem Ergebnis angezeigt werden soll. |
ResultDisplayMetadata.ResultDisplayLine
Die Sammlung von Feldern, aus denen eine angezeigte Zeile besteht
JSON-Darstellung |
---|
{
"fields": [
{
object ( |
Felder | |
---|---|
fields[] |
ResultDisplayMetadata.ResultDisplayField
Anzeigefelder für query.search-Ergebnisse
JSON-Darstellung |
---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
Felder | |
---|---|
label |
Das Anzeigelabel für die Property. |
operatorName |
Der Name des Betreibers der Unterkunft. |
property |
Das Name/Wert-Paar für die Property. |
ResultDebugInfo
Informationen zur Fehlerbehebung beim Ergebnis.
JSON-Darstellung |
---|
{ "formattedDebugInfo": string } |
Felder | |
---|---|
formattedDebugInfo |
Allgemeine Informationen zur Fehlerbehebung, die für die Anzeige formatiert sind. |
StructuredResult
Strukturierte Ergebnisse, die im Rahmen einer Suchanfrage zurückgegeben werden.
JSON-Darstellung |
---|
{
"person": {
object ( |
Felder | |
---|---|
person |
Darstellung einer Person |
SpellResult
JSON-Darstellung |
---|
{ "suggestedQuery": string } |
Felder | |
---|---|
suggestedQuery |
Die vorgeschlagene Schreibweise der Suchanfrage. |
FacetResult
Quellspezifische Antwort für Facetten
JSON-Darstellung |
---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
Felder | |
---|---|
sourceName |
Name der Quelle, für die die Ergebnisse zurückgegeben werden. Dieses Feld darf nicht leer sein. |
objectType |
Der Objekttyp, für den Attributergebnisse zurückgegeben werden. Darf leer sein. |
operatorName |
Der Name des Operators, der für die Facetten ausgewählt wurde. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets für Werte in der Antwort, die mindestens ein Ergebnis mit dem entsprechenden Filter enthalten. |
FacetBucket
Ein Bucket in einer Facette ist die grundlegende Einheit. Ein Bucket kann je nach Feldtyp entweder einen einzelnen Wert ODER einen zusammenhängenden Wertebereich enthalten. FacetBucket wird derzeit nur zum Zurückgeben des Antwortobjekts verwendet.
Felder | |
---|---|
count |
Anzahl der Ergebnisse, die mit dem Bucket-Wert übereinstimmen. Die Anzahl der Ergebnisse wird nur für Suchanfragen zurückgegeben, wenn die Genauigkeit der Anzahl gewährleistet ist. Cloud Search kann die Anzahl der Facetten für keine Abfrage garantieren. Die Anzahl der Facetten ist möglicherweise nur sporadisch verfügbar, auch bei identischen Abfragen. Legen Sie keine Abhängigkeiten von der Existenz der Facettenanzahl fest. Verwenden Sie stattdessen Prozentsätze für die Facettenanzahl, die immer zurückgegeben werden. |
percentage |
Prozentsatz der Ergebnisse, die mit dem Bucket-Wert übereinstimmen. Der Rückgabewert liegt zwischen 0 und 100 und wird bei Dezimalwerten auf eine Ganzzahl abgerundet. Wenn der Wert nicht explizit zurückgegeben wird, entspricht er einem Prozentsatz, der auf 0 gerundet wird. Prozentsätze werden für alle Suchanfragen zurückgegeben, sind aber nur eine Schätzung. Da immer Prozentsätze zurückgegeben werden, sollten Sie Prozentsätze anstelle von Stückzahlen verwenden. |
filter |
Filter, der in der Suchanfrage übergeben wird, wenn der entsprechende Bucket ausgewählt ist. |
value |
|
ResponseDebugInfo
Informationen zur Fehlerbehebung bei der Antwort.
JSON-Darstellung |
---|
{ "formattedDebugInfo": string } |
Felder | |
---|---|
formattedDebugInfo |
Allgemeine Informationen zur Fehlerbehebung, die für die Anzeige formatiert sind. |
Fehlerinformation
Fehlerinformationen zur Antwort.
JSON-Darstellung |
---|
{
"errorMessages": [
{
object ( |
Felder | |
---|---|
errorMessages[] |
|
ErrorMessage
Fehlermeldung pro Antwort der Quelle.
JSON-Darstellung |
---|
{
"source": {
object ( |
Felder | |
---|---|
source |
|
errorMessage |
|
ResultCounts
Informationen zur Ergebnisanzahl
JSON-Darstellung |
---|
{
"sourceResultCounts": [
{
object ( |
Felder | |
---|---|
sourceResultCounts[] |
Informationen zur Ergebnisanzahl für jede Quelle mit Ergebnissen. |
SourceResultCount
Informationen zur Anzahl der Ergebnisse pro Quelle.
JSON-Darstellung |
---|
{ "source": { object ( |
Felder | |
---|---|
source |
Die Quelle, der die Informationen zur Ergebnisanzahl zugeordnet sind. |
hasMoreResults |
Gibt an, ob es weitere Suchergebnisse für diese Quelle gibt. |
Union-Feld Für |
|
resultCountEstimate |
Die geschätzte Anzahl der Ergebnisse für diese Quelle. |
resultCountExact |
Die genaue Anzahl der Ergebnisse für diese Quelle. |