- HTTP-Anfrage
- Anfragetext
- Antworttext
- Autorisierungsbereiche
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- Metadaten
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Testen!
Die Cloud Search Query API bietet die Methode „search“, die die relevantesten Ergebnisse einer Nutzeranfrage 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 diese API ist ein Standard-Endnutzerkonto erforderlich. Mit einem Dienstkonto können keine Query API-Anfragen direkt ausgeführt werden. Wenn Sie ein Dienstkonto für Abfragen verwenden möchten, richten Sie die domainweite Delegierung von Google Workspace ein.
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 einfache Abfragestring. Unter Suche mit Operatoren eingrenzen finden Sie eine Liste der unterstützten Suchoperatoren. |
pageSize |
Maximale Anzahl der Suchergebnisse, die auf einer Seite zurückgegeben werden sollen. Gültige Werte liegen im Bereich von 1 bis 100. Der Standardwert ist 10. Der Mindestwert ist 50, wenn Ergebnisse über 2.000 angefordert werden. |
start |
Startindex der Ergebnisse. |
dataSourceRestrictions[] |
Die Quellen, die für die Abfrage verwendet werden sollen. Wenn nichts angegeben ist, werden alle Datenquellen der aktuellen Suchanwendung verwendet. |
facetOptions[] |
|
sortOptions |
Optionen zum Sortieren der Suchergebnisse |
queryInterpretationOptions |
Optionen zum Interpretieren der Nutzeranfrage. |
contextAttributes[] |
Kontextattribute für die Anfrage, die zum Anpassen des Rankings der Suchergebnisse verwendet werden. Die maximale Anzahl von Elementen beträgt 10. |
Antworttext
Die Antwort der Search API. NEXT-ID: 19
Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:
| JSON-Darstellung |
|---|
{ "queryInterpretation": { object ( |
| Felder | |
|---|---|
queryInterpretation |
Ergebnis der Interpretation der Nutzeranfrage. Leer, wenn die Abfrageinterpretation deaktiviert ist. |
results[] |
Ergebnisse einer Suchanfrage. |
structuredResults[] |
Strukturierte Ergebnisse für die Nutzeranfrage. Diese Ergebnisse werden nicht auf die pageSize angerechnet. |
spellResults[] |
Vorgeschlagene Schreibweise für die Abfrage. |
facetResults[] |
Wiederholte Attributergebnisse. |
hasMoreResults |
Gibt an, ob es weitere Suchergebnisse gibt, die der Anfrage entsprechen. |
debugInfo |
Informationen zur Fehlerbehebung für die Antwort. |
errorInfo |
Fehlerinformationen zur Antwort. |
resultCounts |
Erweiterte Informationen zur Anzahl der Ergebnisse. |
Union-Feld
In dem seltenen Fall, dass das System nicht alle Dokumente durchsuchen kann, 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.queryhttps://www.googleapis.com/auth/cloud_search
Weitere Informationen finden Sie im Autorisierungsleitfaden.
QueryInterpretationOptions
Optionen zum Interpretieren der Nutzeranfrage.
| JSON-Darstellung |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| Felder | |
|---|---|
disableNlInterpretation |
Flag zum Deaktivieren der Interpretation von Anfragen in natürlicher Sprache. Der Standardwert ist „false“. Wenn Sie die Interpretation in natürlicher Sprache deaktivieren möchten, setzen Sie den Wert auf „true“. Die Verarbeitung in natürlicher Sprache wird nur für vordefinierte Datenquellen unterstützt. |
enableVerbatimMode |
Wenn Sie dieses Flag aktivieren, werden alle internen Optimierungen deaktiviert, z. B. die Interpretation von Anfragen in natürlicher Sprache, das Abrufen zusätzlicher Ergebnisse und die Verwendung von Synonymen, einschließlich benutzerdefinierter Synonyme. Die Verarbeitung natürlicher Sprache wird deaktiviert, wenn eines der beiden Flags „true“ ist. |
disableSupplementalResults |
Mit diesem Flag können Sie zusätzliche Ergebnisse für eine Anfrage deaktivieren. Die auf Ebene der SearchApplication ausgewählte Einstellung für zusätzliche Ergebnisse hat Vorrang, wenn sie auf „True“ gesetzt ist. |
QueryInterpretation
| JSON-Darstellung |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| Felder | |
|---|---|
interpretedQuery |
Die in der Suche verwendete Interpretation der Anfrage. Anfragen 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 ist nicht UNSPECIFIED, wenn der Interpretationstyp nicht NONE ist. |
interpretedQueryActualResultCount |
Die tatsächliche Anzahl der Ergebnisse, die von der interpretierten Abfrage zurückgegeben wurden. |
interpretedQueryEstimatedResultCount |
Die geschätzte Anzahl der Ergebnisse, die von der interpretierten Abfrage zurückgegeben werden. |
QueryInterpretation.InterpretationType
| Enums | |
|---|---|
NONE |
Weder die Interpretation in natürlicher Sprache noch eine allgemeinere Version der Anfrage 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 „reason“ (Grund) angegeben. |
REPLACE |
Die Ergebnisse der ursprünglichen Abfrage werden ersetzt. Der Grund für den Ersatz der Ergebnisse der ursprünglichen Abfrage wird unten im Feld „reason“ (Grund) angegeben. |
QueryInterpretation.Reason
| Enums | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
Die Interpretation der Anfrage in natürlicher Sprache wird verwendet, um die Suchergebnisse abzurufen. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
Die Ähnlichkeit von Suchanfrage- und Dokumentbegriffen wird verwendet, um die Suchanfrage selektiv zu erweitern und zusätzliche Suchergebnisse abzurufen, da nicht genügend Ergebnisse für die Nutzeranfrage gefunden wurden. Die interpretierte Anfrage ist in diesem Fall leer. |
SearchResult
Ergebnisse mit indexierten Informationen für ein Dokument. Nächste ID: 16
| 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 eigentlichen Artikel. Diese URL ist signiert und sollte nicht geändert werden. |
snippet |
Die Verkettung aller für dieses Ergebnis verfügbaren Snippets (Zusammenfassungen). |
metadata |
Metadaten des Suchergebnisses. |
clusteredResults[] |
Wenn die Quelle gruppiert ist, geben Sie eine Liste der gruppierten Ergebnisse an. Es gibt nur eine Ebene mit gruppierten Ergebnissen. Wenn die aktuelle Quelle nicht für das Clustering aktiviert ist, ist dieses Feld leer. |
debugInfo |
Informationen zur Fehlerbehebung für dieses Suchergebnis. |
Snippet
Snippet des Suchergebnisses, in dem der Inhalt der entsprechenden Seite zusammengefasst wird.
| JSON-Darstellung |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| Felder | |
|---|---|
snippet |
Der Ausschnitt des Dokuments. Kann maskierte HTML-Zeichen enthalten, die vor dem Rendern demaskiert werden müssen. |
matchRanges[] |
Die übereinstimmenden Bereiche im Snippet. |
MatchRange
Der übereinstimmende Bereich eines Snippets [start, end).
| JSON-Darstellung |
|---|
{ "start": integer, "end": integer } |
| Felder | |
|---|---|
start |
Die Startposition der Übereinstimmung im Snippet. |
end |
Ende des Spiels 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 Zeitpunkt der Erstellung dieses Dokuments oder Objekts im Suchergebnis. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
updateTime |
Das Datum der letzten Änderung des Objekts im Suchergebnis. Wenn der Wert nicht im Artikel festgelegt ist, ist der hier zurückgegebene Wert leer. Wenn Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
fields[] |
Indexierte Felder in strukturierten Daten, die als generische benannte Property zurückgegeben werden. |
displayOptions |
Optionen, die angeben, wie ein Suchergebnis für strukturierte Daten angezeigt werden soll. |
objectType |
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
Felder für query.search-Ergebnisse anzeigen
| JSON-Darstellung |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| Felder | |
|---|---|
label |
Das Anzeigelabel für die Property. |
operatorName |
Der Operatorname des Attributs. |
property |
Das Name/Wert-Paar für das Attribut. |
ResultDebugInfo
Informationen zur Fehlerbehebung für das Ergebnis.
| JSON-Darstellung |
|---|
{ "formattedDebugInfo": string } |
| Felder | |
|---|---|
formattedDebugInfo |
Allgemeine Debugging-Informationen, die für die Anzeige formatiert sind. |
StructuredResult
Strukturierte Ergebnisse, die bei einer Suchanfrage zurückgegeben werden
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld Für |
|
person |
Darstellung einer Person |
SpellResult
| JSON-Darstellung |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| Felder | |
|---|---|
suggestedQuery |
Die vorgeschlagene Schreibweise der Abfrage. |
suggestionType |
Vorschlag für die aktuelle Abfrage ausgelöst. |
suggestedQueryHtml |
Das bereinigte HTML, das die korrigierte Anfrage darstellt und in der Benutzeroberfläche verwendet werden kann. In der Regel sind sprachspezifische Tags vorhanden, um Teile der Abfrage zu kennzeichnen, die einer Rechtschreibprüfung unterzogen werden. |
SpellResult.SuggestionType
Der Typ des Vorschlags, der für die Abfrage ausgelöst wurde.
| Enums | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
Standardtyp der Rechtschreibprüfung |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
Rechtschreibvorschlag ohne geänderte Ergebnisse. Die Ergebnisse werden weiterhin für die ursprüngliche Suchanfrage (mit Ergebnissen ungleich null) angezeigt, zusammen mit einem Vorschlag für eine Schreibweise, die Ergebnisse liefern würde. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
Rechtschreibvorschlag wird ausgelöst, wenn die ursprüngliche Anfrage keine Ergebnisse liefert. Wenn die ursprüngliche Anfrage keine Ergebnisse liefert und die Rechtschreibkorrektur Ergebnisse liefert, werden Ergebnisse für die korrigierte Anfrage ausgelöst. |
SafeHtmlProto
WICHTIG: Es ist unsicher, diese Nachricht von einer nicht vertrauenswürdigen Quelle zu akzeptieren, da es für einen Angreifer trivial ist, serialisierte Nachrichten zu fälschen, die den Sicherheitsvertrag des Typs nicht erfüllen. Sie könnten beispielsweise ein vom Angreifer kontrolliertes Skript enthalten. Ein System, das ein SafeHtmlProto empfängt, vertraut dem Ersteller des SafeHtmlProto implizit. Daher ist es in der Regel sicher, diese Nachricht in RPC-Antworten zurückzugeben, aber in der Regel unsicher, sie in RPC-Anfragen zu akzeptieren.
| JSON-Darstellung |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| Felder | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
WICHTIG: Dieses Feld darf niemals festgelegt oder gelesen werden, auch nicht in Tests. Es ist privat. In der Dokumentation oben in der .proto-Datei finden Sie Informationen zu den Programmiersprachenpaketen, mit denen Sie diese Nachricht erstellen oder lesen können. |
FacetResult
Quellspezifische Facettenantwort
| JSON-Darstellung |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| Felder | |
|---|---|
sourceName |
Quellname, für den Attributergebnisse zurückgegeben werden. Darf nicht leer sein. |
objectType |
Objekttyp, für den Attributergebnisse zurückgegeben werden. Darf leer sein. |
operatorName |
Der Name des Operators, der für die Facettierung 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 Grundeinheit für Vorgänge. Ein Bucket kann je nach Typ des Felds, das in Buckets unterteilt wird, entweder einen einzelnen Wert oder einen zusammenhängenden Wertebereich umfassen. FacetBucket wird derzeit nur zum Zurückgeben des Antwortobjekts verwendet.
| JSON-Darstellung |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| Felder | |
|---|---|
count |
Anzahl der Ergebnisse, die mit dem Bucket-Wert übereinstimmen. Zahlen werden nur für Suchanfragen zurückgegeben, bei denen die Genauigkeit der Zahlen gewährleistet ist. Cloud Search garantiert keine Anzahl von Facetten für eine Abfrage. Die Anzahl von Facetten ist möglicherweise nur zeitweise vorhanden, auch bei identischen Abfragen. Erstellen Sie keine Abhängigkeiten von der Anzahl der Facetten. Verwenden Sie stattdessen die Prozentsätze der Facettenanzahl, die immer zurückgegeben werden. |
percentage |
Prozentsatz der Ergebnisse, die mit dem Bucket-Wert übereinstimmen. Der zurückgegebene Wert liegt zwischen 0 und 100 (einschließlich) und wird auf eine Ganzzahl abgerundet, wenn er eine Dezimalzahl ist. Wenn der Wert nicht explizit zurückgegeben wird, stellt er einen Prozentsatz dar, der auf 0 gerundet wird. Prozentsätze werden für alle Suchanfragen zurückgegeben, sind aber Schätzungen. Da immer Prozentsätze zurückgegeben werden, sollten Sie Prozentsätze anstelle von Anzahlen rendern. |
filter |
Filter, der in der Suchanfrage übergeben werden soll, wenn der entsprechende Bucket ausgewählt ist. |
Union-Feld bucket_value. Der Bereich oder Wert des Bucket, der mit bucket_value facettiert wird, kann nur einer der folgenden sein: |
|
value |
|
ResponseDebugInfo
Informationen zur Fehlerbehebung für die Antwort.
| JSON-Darstellung |
|---|
{ "formattedDebugInfo": string } |
| Felder | |
|---|---|
formattedDebugInfo |
Allgemeine Debugging-Informationen, die für die Anzeige formatiert sind. |
Fehlerinformation
Fehlerinformationen zur Antwort.
| JSON-Darstellung |
|---|
{
"errorMessages": [
{
object ( |
| Felder | |
|---|---|
errorMessages[] |
|
ErrorMessage
Fehlermeldung pro Quellantwort.
| JSON-Darstellung |
|---|
{
"source": {
object ( |
| Felder | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
Informationen zur Anzahl der Ergebnisse
| JSON-Darstellung |
|---|
{
"sourceResultCounts": [
{
object ( |
| Felder | |
|---|---|
sourceResultCounts[] |
Informationen zur Anzahl der Ergebnisse 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 Anzahl der Ergebnisse zugeordnet sind. |
hasMoreResults |
Gibt an, ob für diese Quelle weitere Suchergebnisse vorhanden sind. |
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. |