REST Resource: projects.locations.evaluations

Ressource: Evaluation

Eine Auswertung ist eine einzelne Ausführung (oder ein einzelner Lauf) eines Auswertungsprozesses. Es enthält den Status der Auswertung und die resultierenden Daten.

JSON-Darstellung
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Felder
name

string

ID. Der vollständige Ressourcenname des Evaluation im Format projects/{project}/locations/{location}/evaluations/{evaluation}.

Dieses Feld muss ein UTF-8-codierter String mit einer Längenbeschränkung von 1.024 Zeichen sein.

evaluationSpec

object (EvaluationSpec)

Erforderlich. Die Spezifikation der Bewertung.

qualityMetrics

object (QualityMetrics)

Nur Ausgabe. Die von der Bewertung erstellten Messwerte, gemittelt über alle SampleQuery in der SampleQuerySet.

Wird nur ausgefüllt, wenn der Status der Auswertung „SUCCEEDED“ lautet.

state

enum (State)

Nur Ausgabe. Der Status der Bewertung.

error

object (Status)

Nur Ausgabe. Der Fehler, der bei der Auswertung aufgetreten ist. Wird nur ausgefüllt, wenn der Status der Auswertung „FAILED“ lautet.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung von Evaluation.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für den Abschluss von Evaluation.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Nur Ausgabe. Ein Beispiel für Fehler, die bei der Verarbeitung der Anfrage aufgetreten sind.

EvaluationSpec

Beschreibt die Spezifikation der Auswertung.

JSON-Darstellung
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
Felder
querySetSpec

object (QuerySetSpec)

Optional. Die Spezifikation des Abfragesets.

Union-Feld search_spec. Die Suchspezifikation. Für search_spec ist nur einer der folgenden Werte zulässig:
searchRequest

object (SearchRequest)

Erforderlich. Die Suchanfrage, die für die Auswertung verwendet wird.

Nur die folgenden Felder in SearchRequest werden unterstützt. Wenn andere Felder angegeben werden, wird ein UNSUPPORTED-Fehler zurückgegeben:

SearchRequest

Anfragenachricht für die Methode SearchService.Search.

JSON-Darstellung
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  }
}
Felder
servingConfig

string

Erforderlich. Der Ressourcenname der Bereitstellungskonfiguration für die Suche, z. B. projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config oder projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. Dieses Feld wird verwendet, um den Namen der Bereitstellungskonfiguration zu identifizieren, also die Gruppe von Modellen, die für die Suche verwendet werden.

branch

string

Der Ressourcenname des Zweigs, z. B. projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

Verwenden Sie default_branch als Zweig-ID oder lassen Sie dieses Feld leer, um in Dokumenten im Standardzweig zu suchen.

query

string

Unbearbeitete Suchanfrage.

imageQuery

object (ImageQuery)

Rohe Bildanfrage.

pageSize

integer

Maximale Anzahl der zurückzugebenden Document. Der maximal zulässige Wert hängt vom Datentyp ab. Werte über dem Höchstwert werden implizit auf den Höchstwert umgewandelt.

  • Websites mit grundlegender Indexierung: Standard 10, maximal 25.
  • Websites mit erweiterter Indexierung: Standard 25, Maximum 50.
  • Andere: Standardwert 50, Maximalwert 100.

Wenn dieses Feld negativ ist, wird ein INVALID_ARGUMENT zurückgegeben.

pageToken

string

Ein Seitentoken, das von einem vorherigen SearchService.Search-Aufruf empfangen wurde. Geben Sie dieses an, um die nachfolgende Seite abzurufen.

Beim Paginieren müssen alle anderen für SearchService.Search bereitgestellten Parameter mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

offset

integer

Eine nullbasierte Ganzzahl, die den aktuellen Offset (d. h. die Startposition des Ergebnisses unter den von der API als relevant eingestuften Documents) in den Suchergebnissen angibt. Dieses Feld wird nur berücksichtigt, wenn pageToken nicht festgelegt wurde.

Wenn dieses Feld negativ ist, wird ein INVALID_ARGUMENT zurückgegeben.

Ein großer Offset wird möglicherweise auf einen angemessenen Grenzwert begrenzt.

oneBoxPageSize

integer

Die maximale Anzahl der Ergebnisse, die für OneBox zurückgegeben werden sollen. Dies gilt für jeden OneBox-Typ einzeln. Der Standardwert ist 10.

dataStoreSpecs[]

object (DataStoreSpec)

Spezifikationen, die die zu durchsuchenden DataStores sowie Konfigurationen für diese Datenspeicher definieren. Dies wird nur für Engines mit mehreren Datenspeichern berücksichtigt. Bei Engines mit einem einzelnen Datenspeicher sollten die Spezifikationen direkt unter SearchRequest verwendet werden.

filter

string

Die Filtersyntax besteht aus einer Ausdruckssprache zum Erstellen eines Prädikats aus einem oder mehreren Feldern der gefilterten Dokumente. Bei Filterausdrücken wird zwischen Groß- und Kleinschreibung unterschieden.

Wenn dieses Feld nicht erkannt wird, wird INVALID_ARGUMENT zurückgegeben.

Das Filtern in Vertex AI Search erfolgt durch Zuordnen des LHS-Filterschlüssels zu einer Schlüsselattribut, das im Vertex AI Search-Backend definiert ist. Diese Zuordnung wird vom Kunden in seinem Schema definiert. Ein Media-Kunde hat in seinem Schema beispielsweise möglicherweise das Feld „name“. In diesem Fall würde der Filter so aussehen: filter --> name:'ANY("king kong")'

Weitere Informationen zum Filtern, einschließlich Syntax und Filteroperatoren, finden Sie unter Filter.

canonicalFilter

string

Der Standardfilter, der angewendet wird, wenn ein Nutzer eine Suche durchführt, ohne auf der Suchseite Filter zu aktivieren.

Der Filter, der auf jede Suchanfrage angewendet wird, wenn eine Qualitätsverbesserung wie die Erweiterung der Anfrage erforderlich ist. Wenn eine Abfrage nicht genügend Ergebnisse liefert, wird mit diesem Filter bestimmt, ob die Abfrageerweiterung aktiviert werden soll. Der ursprüngliche Filter wird weiterhin für die erweiterte Suche der Abfrage verwendet. Dieses Feld wird dringend empfohlen, um eine hohe Suchqualität zu erzielen.

Weitere Informationen zur Filtersyntax finden Sie unter SearchRequest.filter.

orderBy

string

Die Reihenfolge, in der Dokumente zurückgegeben werden. Dokumente können nach einem Feld in einem Document-Objekt sortiert werden. Lassen Sie das Feld leer, wenn die Ergebnisse nach Relevanz sortiert werden sollen. Bei orderBy wird zwischen Groß- und Kleinschreibung unterschieden.

Weitere Informationen zum Sortieren der Website-Suchergebnisse finden Sie unter Web-Suchergebnisse sortieren. Weitere Informationen zum Sortieren der Suchergebnisse für das Gesundheitswesen finden Sie unter Suchergebnisse für das Gesundheitswesen sortieren. Wenn dieses Feld nicht erkannt wird, wird INVALID_ARGUMENT zurückgegeben.

userInfo

object (UserInfo)

Informationen zum Endnutzer. Für Analysen und Personalisierung dringend empfohlen. UserInfo.user_agent wird verwendet, um deviceType für Analysen abzuleiten.

languageCode

string

Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“ Weitere Informationen finden Sie unter Standardfelder. Dieses Feld hilft, die Anfrage besser zu interpretieren. Wenn kein Wert angegeben ist, wird der Abfragesprachcode automatisch erkannt. Das ist aber möglicherweise nicht korrekt.

regionCode

string

Der Länder-/Regionscode (CLDR) eines Standorts im Unicode-Format, beispielsweise "US" und "419". Weitere Informationen finden Sie unter Standardfelder. Wenn festgelegt, werden die Ergebnisse basierend auf dem angegebenen „regionCode“ optimiert.

facetSpecs[]

object (FacetSpec)

Facettenspezifikationen für die Attributsuche. Wenn leer, werden keine Facetten zurückgegeben.

Es sind maximal 100 Werte zulässig. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

boostSpec

object (BoostSpec)

Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben. Weitere Informationen zum Boosten finden Sie unter Boost.

params

map (key: string, value: value (Value format))

Zusätzliche Suchparameter.

Für die Suche auf öffentlichen Websites sind nur die folgenden Werte zulässig:

  • user_country_code: String. Standardmäßig leer. Wenn der Wert nicht leer ist, werden die Ergebnisse basierend auf dem angegebenen Standort eingeschränkt oder optimiert. z. B. user_country_code: "au".

Die verfügbaren Codes finden Sie unter Ländercodes.

  • searchType: double. Standardmäßig leer. Ermöglicht die Suche in Nicht-Webseiten, je nach Wert. Der einzige gültige Wert, der nicht der Standardwert ist, ist 1. Damit wird die Bildersuche aktiviert. z. B. searchType: 1.
queryExpansionSpec

object (QueryExpansionSpec)

Die Spezifikation für die Suchanfragenerweiterung, die die Bedingungen angibt, unter denen die Suchanfragenerweiterung erfolgt.

spellCorrectionSpec

object (SpellCorrectionSpec)

Die Spezifikation für die Rechtschreibkorrektur, die den Modus angibt, in dem die Rechtschreibkorrektur wirksam wird.

userPseudoId

string

Eine eindeutige Kennung für das Tracking von Besuchern. Dies kann beispielsweise mit einem HTTP-Cookie implementiert werden, mit dem ein Besucher auf einem einzelnen Gerät eindeutig identifiziert werden kann. Diese eindeutige Kennung sollte sich nicht ändern, wenn sich der Besucher auf der Website an- oder abmeldet.

Dieses Feld sollte KEINEN festen Wert wie unknown_visitor haben.

Dies sollte dieselbe ID wie UserEvent.user_pseudo_id und CompleteQueryRequest.user_pseudo_id sein.

Das Feld muss ein UTF-8-codierter String mit einer Längenbeschränkung von 128 Zeichen sein. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

contentSearchSpec

object (ContentSearchSpec)

Eine Spezifikation zum Konfigurieren des Verhaltens der Inhaltssuche.

embeddingSpec

object (EmbeddingSpec)

Verwendet die bereitgestellte Einbettung, um zusätzliche semantische Dokumente abzurufen. Der Abruf basiert auf dem Skalarprodukt von SearchRequest.EmbeddingSpec.EmbeddingVector.vector und dem Dokument-Embedding, das in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path bereitgestellt wird.

Wenn SearchRequest.EmbeddingSpec.EmbeddingVector.field_path nicht angegeben ist, wird ServingConfig.EmbeddingConfig.field_path verwendet.

rankingExpression

string

Optional. Mit dem Ranking-Ausdruck wird das benutzerdefinierte Ranking beim Abrufen von Dokumenten gesteuert. Dadurch wird ServingConfig.ranking_expression überschrieben. Die Syntax und die unterstützten Funktionen hängen vom Wert von rankingExpressionBackend ab. Wenn rankingExpressionBackend nicht angegeben ist, wird standardmäßig RANK_BY_EMBEDDING verwendet.

Wenn rankingExpressionBackend nicht angegeben oder auf RANK_BY_EMBEDDING festgelegt ist, sollte es sich um eine einzelne Funktion oder mehrere Funktionen handeln, die durch „+“ verbunden sind.

  • rankingExpression = function, { " + ", function };

Unterstützte Funktionen:

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

Funktionsvariablen:

  • relevanceScore: Vordefinierte Keywords, die verwendet werden, um die Relevanz zwischen Anfrage und Dokument zu messen.
  • embedding_field_path: Das Dokumenteinbettungsfeld, das mit dem Abfrageeinbettungsvektor verwendet wird.
  • dotProduct: Einbettungsfunktion zwischen embedding_field_path und dem Abfrage-Einbettungsvektor.

Beispiel für einen Rankingausdruck:

Wenn ein Dokument das Einbettungsfeld „doc_embedding“ hat, könnte der Ranking-Ausdruck 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding) lauten.

Wenn rankingExpressionBackend auf RANK_BY_FORMULA gesetzt ist, werden die folgenden Ausdruckstypen (und Kombinationen davon, die mit den Operatoren „+“ oder „*“ verkettet werden) unterstützt:

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0) – Transformation des reziproken Rangs mit dem zweiten Argument als Nennerkonstante.
  • isNan(signal) – gibt 0 zurück, wenn das Signal NaN ist, andernfalls 1.
  • fillNan(signal1, signal2 | double): Wenn signal1 „NaN“ ist, wird „signal2 | double“ zurückgegeben, andernfalls „signal1“.

Hier sind einige Beispiele für Ranking-Formeln, in denen die unterstützten Ranking-Ausdruckstypen verwendet werden:

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore) – Die meisten Werte werden nach dem Logarithmus von keywordSimilarityScore mit geringfügiger semantic_smilarity_score-Anpassung eingestuft.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore) – Rangfolge nach dem Exponenten von semanticSimilarityScore. Der Wert wird mit 0 gefüllt, wenn er „NaN“ ist. Außerdem wird dem endgültigen Ergebnis eine konstante Anpassung von 0,3 hinzugefügt, wenn semanticSimilarityScore „NaN“ ist.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16) – meistens nach dem reziproken Rang von keywordSimilarityScore mit geringfügiger Anpassung des reziproken Rangs von semantic_smilarity_score.

Die folgenden Signale werden unterstützt:

  • semanticSimilarityScore: Anpassung der semantischen Ähnlichkeit, die mithilfe der Einbettungen berechnet wird, die von einem proprietären Google-Modell generiert werden. Dieser Wert gibt an, wie semantisch ähnlich eine Suchanfrage und ein Dokument sind.
  • keywordSimilarityScore: Bei der Anpassung von Keyword-Übereinstimmungen wird die BM25-Rankingfunktion (Best Match 25) verwendet. Dieser Wert wird mithilfe eines probabilistischen Modells berechnet, um die Wahrscheinlichkeit zu schätzen, dass ein Dokument für eine bestimmte Anfrage relevant ist.
  • relevanceScore: Anpassung der semantischen Relevanz, bei der ein proprietäres Google-Modell verwendet wird, um die Bedeutung und Absicht hinter der Anfrage eines Nutzers im Kontext der Inhalte in den Dokumenten zu ermitteln.
  • pctrRank: Anpassung der prognostizierten Conversion-Rate als Rang. Die prognostizierte Klickrate (pCTR) wird verwendet, um die Relevanz und Attraktivität eines Suchergebnisses aus Nutzersicht zu bewerten. Eine höhere pCTR deutet darauf hin, dass das Ergebnis eher der Suchanfrage und Absicht des Nutzers entspricht. Das ist ein wichtiges Signal für das Ranking.
  • freshnessRank: Aktualitätsanpassung als Rang
  • documentAge: Die Zeit in Stunden seit der letzten Aktualisierung des Dokuments, eine Gleitkommazahl (z.B. 0,25 entspricht 15 Minuten.
  • topicalityRank: Anpassung der Aktualität als Rang. Es wird ein proprietäres Google-Modell verwendet, um die keywordbasierte Überschneidung zwischen der Anfrage und dem Dokument zu ermitteln.
  • baseRank: der Standardrang des Ergebnisses
rankingExpressionBackend

enum (RankingExpressionBackend)

Optional. Das Backend, das für die Auswertung des Ranking-Ausdrucks verwendet werden soll.

userLabels

map (key: string, value: string)

Die Nutzerlabels, die auf eine Ressource angewendet werden, müssen die folgenden Anforderungen erfüllen:

  • Jede Ressource kann bis zu 64 Labels haben.
  • Jedes Label muss ein Schlüssel/Wert-Paar sein.
  • Schlüssel haben eine Mindestlänge von einem Zeichen und eine maximale Länge von 63 Zeichen und dürfen nicht leer sein. Werte dürfen leer sein und haben eine maximale Länge von 63 Zeichen.
  • Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Alle Zeichen müssen UTF-8-codiert sein. Internationale Zeichen sind zulässig.
  • Der Schlüsselabschnitt eines Labels darf nur einmal vorkommen. Sie können jedoch denselben Schlüssel für mehrere Ressourcen verwenden.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.

Weitere Informationen finden Sie im Google Cloud-Dokument.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

Optional. Konfiguration für Funktionen zur Interpretation von Anfragen in natürlicher Sprache, z. B. zum Extrahieren strukturierter Feldfilter aus der Anfrage. Weitere Informationen finden Sie in dieser Dokumentation. Wenn naturalLanguageQueryUnderstandingSpec nicht angegeben ist, wird keine zusätzliche Verarbeitung von Abfragen in natürlicher Sprache durchgeführt.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

Konfiguration der Suche während der Eingabe Wird nur für die Branche IndustryVertical.MEDIA unterstützt.

displaySpec

object (DisplaySpec)

Optional. Konfiguration für die Anzeige von Funktionen wie der Hervorhebung von Übereinstimmungen in Suchergebnissen.

session

string

Der Name der Sitzungsressource. Optional.

Mit der Sitzung können Nutzer mehrere /search API-Aufrufe ausführen oder /search API-Aufrufe und /answer API-Aufrufe koordinieren.

Beispiel 1 (mehrere /search-API-Aufrufe): Rufen Sie die /search-API mit der Sitzungs-ID auf, die im ersten Aufruf generiert wurde. Hier wird die vorherige Suchanfrage bei der Bewertung der Anfrage berücksichtigt. Wenn die erste Frage beispielsweise „Wie hat sich Alphabet im Jahr 2022 entwickelt?“ lautet, und die aktuelle Frage „Wie sieht es mit 2023 aus?“ lautet, wird sie als „Wie hat sich Alphabet 2023 entwickelt?“ interpretiert.

Beispiel 2 (Abstimmung zwischen /search-API-Aufrufen und /answer-API-Aufrufen): Rufen Sie die /answer-API mit der im ersten Aufruf generierten Sitzungs-ID auf. Die Antwort wird hier im Kontext der Suchergebnisse aus dem ersten Suchaufruf generiert.

Die Funktion für die Suche mit mehreren Anfragen befindet sich derzeit in der privaten GA-Phase. Verwenden Sie stattdessen die Version v1alpha oder v1beta, bevor wir diese Funktion allgemein verfügbar machen. Alternativ können Sie das Google-Supportteam bitten, Sie auf die Zulassungsliste zu setzen.

sessionSpec

object (SessionSpec)

Sitzungsspezifikation.

Kann nur verwendet werden, wenn session festgelegt ist.

relevanceThreshold

enum (RelevanceThreshold)

Der Relevanzschwellenwert der Suchergebnisse.

Standardmäßig wird der von Google definierte Grenzwert verwendet, bei dem ein Gleichgewicht zwischen Präzision und Erinnerung angestrebt wird, um sowohl sehr genaue Ergebnisse als auch eine umfassende Abdeckung relevanter Informationen zu erzielen.

Diese Funktion wird für die Suche im Gesundheitswesen nicht unterstützt.

personalizationSpec

object (PersonalizationSpec)

Die Spezifikation für die Personalisierung.

Wenn sowohl ServingConfig.personalization_spec als auch SearchRequest.personalization_spec festgelegt sind, überschreibt SearchRequest.personalization_spec ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

Optional. Die Spezifikation für die Rückgabe des Relevanzwerts.

searchAddonSpec

object (SearchAddonSpec)

Optional. Mit SearchAddonSpec werden Add-ons für die Suche gemäß dem neuen Preismodell deaktiviert. Dieses Feld wird nur für Suchanfragen unterstützt.

ImageQuery

Gibt die Eingabe für die Bildabfrage an.

JSON-Darstellung
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
Felder

Union-Feld image.

Für image ist nur einer der folgenden Werte zulässig:

imageBytes

string

Base64-codierte Bilddaten. Unterstützte Bildformate: JPEG, PNG und BMP.

DataStoreSpec

Eine Struktur zum Definieren von Datenspeichern, nach denen in einem Suchaufruf gefiltert werden soll, und Konfigurationen für diese Datenspeicher. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

JSON-Darstellung
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string
}
Felder
dataStore

string

Erforderlich. Vollständiger Ressourcenname von DataStore, z. B. projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. Der Pfad muss die Projektnummer enthalten. Die Projekt-ID wird für dieses Feld nicht unterstützt.

filter

string

Optional. Filterspezifikation zum Filtern von Dokumenten im Datenspeicher, der durch das Feld „dataStore“ angegeben wird. Weitere Informationen zum Filtern finden Sie unter Filtern.

boostSpec

object (BoostSpec)

Optional. Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben. Weitere Informationen zum Boosten finden Sie unter Boost.

customSearchOperators

string

Optional. Benutzerdefinierte Suchoperatoren, die bei Angabe zum Filtern von Ergebnissen aus Arbeitsbereichsdatenspeichern verwendet werden. Weitere Informationen zu benutzerdefinierten Suchoperatoren finden Sie unter SearchOperators.

BoostSpec

Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben.

JSON-Darstellung
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Felder
conditionBoostSpecs[]

object (ConditionBoostSpec)

Spezifikationen für Bedingungs-Boosts. Wenn ein Dokument mehreren Bedingungen in den Spezifikationen entspricht, werden alle Boost-Werte aus diesen Spezifikationen angewendet und nicht linear kombiniert. Es sind maximal 20 Spezifikationen zulässig.

ConditionBoostSpec

Die Steigerung wird auf Dokumente angewendet, die einer Bedingung entsprechen.

JSON-Darstellung
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Felder
condition

string

Ein Ausdruck, der eine Steigerungsbedingung angibt. Die Syntax und die unterstützten Felder sind dieselben wie bei einem Filterausdruck. Weitere Informationen zur Syntax und zu den Einschränkungen finden Sie unter SearchRequest.filter.

Beispiele:

  • So stufen Sie Dokumente mit der Dokument-ID „doc_1“ oder „doc_2“ und der Farbe „Rot“ oder „Blau“ höher ein: (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

Stärke des Bedingungs-Boostings, die im Bereich [-1, 1] liegen sollte. Negatives Boosting bedeutet Abwertung. Der Standardwert ist 0,0.

Wenn Sie den Wert auf 1,0 setzen, erfährt das Dokument eine starke Aufwertung. Das bedeutet aber nicht, dass das aufgewertete Dokument immer das Top-Ergebnis ist oder dass andere Dokumente ausgeschlossen werden. Ergebnisse können auch dann angezeigt werden, wenn keines mit der Bedingung übereinstimmt. Außerdem können Ergebnisse, die für die Suchanfrage deutlich relevanter sind, höher eingestuft werden als Ihre stark bevorzugten, aber irrelevanten Dokumente.

Wenn Sie den Wert auf -1,0 setzen, wird das Dokument stark herabgestuft. Ergebnisse, die sehr relevant sind, werden möglicherweise weiterhin angezeigt. Das Dokument muss sich in der Rangfolge gegen andere Dokumente durchsetzen, um eine relativ hohe Position zu erreichen, ist aber nicht vollständig blockiert.

Wenn Sie den Wert auf 0,0 festlegen, wird kein Boost angewendet. Die Bedingung für die Steigerung wird ignoriert. Es wird nur eine der folgenden Optionen festgelegt: die Kombination aus (Bedingung, Boost) oder „boostControlSpec“ unten. Wenn beide festgelegt sind, wird der globale Boost ignoriert und die detailliertere boostControlSpec angewendet.

boostControlSpec

object (BoostControlSpec)

Komplexe Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden definierten Attributwert.

BoostControlSpec

Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden angegebenen Attributwert. Sie bietet mehr Steuerungsmöglichkeiten für das benutzerdefinierte Ranking als die einfache Kombination aus „Bedingung“ und „Steigerung“ oben.

JSON-Darstellung
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Felder
fieldName

string

Der Name des Felds, dessen Wert zur Bestimmung des Steigerungsbetrags verwendet wird.

attributeType

enum (AttributeType)

Der Attributtyp, der zum Ermitteln des Steigerungsbetrags verwendet werden soll. Der Attributwert kann aus dem Feldwert des angegebenen „fieldName“ abgeleitet werden. Bei numerischen Werten ist das ganz einfach: attributeValue = numerical_field_value. Bei der Aktualität gilt jedoch: attributeValue = (time.now() – datetime_field_value).

interpolationType

enum (InterpolationType)

Der Interpolationstyp, der zum Verbinden der unten aufgeführten Kontrollpunkte angewendet werden soll.

controlPoints[]

object (ControlPoint)

Die Kontrollpunkte, mit denen die Kurve definiert wird. Die monotone Funktion (die oben über „interpolationType“ definiert wurde) verläuft durch die hier aufgeführten Kontrollpunkte.

AttributeType

Das Attribut(oder die Funktion), auf das bzw. die das benutzerdefinierte Ranking angewendet werden soll.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Nicht angegebener AttributeType.
NUMERICAL Der Wert des numerischen Felds wird verwendet, um den Steigerungsbetrag dynamisch zu aktualisieren. In diesem Fall ist der „attributeValue“ (der x-Wert) des Kontrollpunkts der tatsächliche Wert des numerischen Felds, für das „boostAmount“ angegeben ist.
FRESHNESS Im Anwendungsfall „Aktualität“ ist der Attributwert die Dauer zwischen der aktuellen Uhrzeit und dem Datum im angegebenen Datums-/Uhrzeitfeld. Der Wert muss als XSD-dayTimeDuration-Wert formatiert sein (eine eingeschränkte Teilmenge eines ISO 8601-Dauerwerts). Das Muster dafür ist: [nD][T[nH][nM][nS]]. Beispiele: 5D, 3DT12H30M, T24H.

InterpolationType

Der anzuwendende Interpolationstyp. Der Standardwert ist „linear“ (Piecewise Linear).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Der Interpolationstyp ist nicht angegeben. In diesem Fall wird standardmäßig „Linear“ verwendet.
LINEAR Es wird eine stückweise lineare Interpolation angewendet.

ControlPoint

Die Kontrollpunkte, mit denen die Kurve definiert wird. Die durch diese Kontrollpunkte definierte Kurve kann nur monoton steigend oder fallend sein(konstante Werte sind zulässig).

JSON-Darstellung
{
  "attributeValue": string,
  "boostAmount": number
}
Felder
attributeValue

string

Kann einer der folgenden Werte sein: 1. Der numerische Feldwert. 2. Die Dauerangabe für die Aktualität: Der Wert muss als XSD-dayTimeDuration-Wert formatiert sein (eine eingeschränkte Teilmenge eines ISO 8601-Dauerwerts). Das Muster dafür ist: [nD][T[nH][nM][nS]].

boostAmount

number

Der Wert zwischen -1 und 1, um den die Punktzahl erhöht werden soll, wenn „attributeValue“ dem oben angegebenen Wert entspricht.

FacetSpec

Eine Attributspezifikation für die Attributsuche.

JSON-Darstellung
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Felder
facetKey

object (FacetKey)

Erforderlich. Die Spezifikation des Facettenschlüssels.

limit

integer

Maximale Anzahl von Attributwerten, die für dieses Attribut zurückgegeben werden. Wenn nicht angegeben, lautet die Standardeinstellung 20. Der maximal zulässige Wert beträgt 300. Werte über 300 werden implizit auf 300 umgewandelt. Bei der Aggregation in der Suche nach Gesundheitsdaten wird das Limit intern auf 10.000 überschrieben, wenn [FacetKey.key] „healthcare_aggregation_key“ ist. Das gilt unabhängig vom hier festgelegten Wert.

Wenn dieses Feld negativ ist, wird ein INVALID_ARGUMENT zurückgegeben.

excludedFilterKeys[]

string

Liste der Schlüssel, die beim Facettieren ausgeschlossen werden sollen.

Standardmäßig wird FacetKey.key nicht aus dem Filter ausgeschlossen, sofern es nicht in diesem Feld aufgeführt ist.

Wenn Sie einen Attributschlüssel in diesem Feld angeben, können seine Werte als Attributergebnisse angezeigt werden, auch wenn sie aus den Suchergebnissen herausgefiltert werden. Die Verwendung dieses Felds hat keinen Einfluss darauf, welche Suchergebnisse zurückgegeben werden.

Angenommen, es gibt 100 Dokumente mit der Facette „Farbe“ – „Rot“ und 200 Dokumente mit der Facette „Farbe“ – „Blau“. Bei einer Abfrage mit dem Filter „color:ANY(‚Red‘)“ und „color“ als FacetKey.key werden standardmäßig nur Dokumente mit der Farbe „Rot“ in den Suchergebnissen zurückgegeben. Außerdem wird „Rot“ mit der Anzahl 100 als einzige Farb-Facette zurückgegeben. Obwohl auch blaue Dokumente verfügbar sind, wird „Blau“ nicht als verfügbarer Facettenwert angezeigt.

Wenn „color“ in „excludedFilterKeys“ aufgeführt ist, werden in der Abfrage die Facettenwerte „Red“ mit dem Zähler 100 und „Blue“ mit dem Zähler 200 zurückgegeben, da der Schlüssel „color“ jetzt aus dem Filter ausgeschlossen ist. Da sich dieses Feld nicht auf die Suchergebnisse auswirkt, werden die Suchergebnisse weiterhin korrekt gefiltert, sodass nur Dokumente mit dem Wert „Rot“ zurückgegeben werden.

Es sind maximal 100 Werte zulässig. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben.

enableDynamicPosition

boolean

Aktiviert die dynamische Position für diese Facette. Wenn „true“ festgelegt ist, wird die Position dieser Facette unter allen Facetten in der Antwort automatisch bestimmt. Wenn dynamische Attribute aktiviert sind, wird die Bestellung zusammen ausgeführt. Wenn der Wert auf „false“ gesetzt ist, ist die Position dieser Facette in der Antwort dieselbe wie in der Anfrage. Sie wird vor den Facetten mit aktivierter dynamischer Position und allen dynamischen Facetten eingestuft.

Sie möchten beispielsweise immer, dass die Facette „Bewertung“ in der Antwort zurückgegeben wird, aber nicht unbedingt immer oben angezeigt wird. In diesem Fall können Sie „enableDynamicPosition“ auf „true“ setzen, damit die Position der Bewertungsfacette in der Antwort automatisch bestimmt wird.

Ein weiteres Beispiel: Angenommen, Sie haben die folgenden Facetten in der Anfrage:

  • „rating“, enableDynamicPosition = true

  • „price“, enableDynamicPosition = false

  • „brands“, enableDynamicPosition = false

Außerdem haben Sie dynamische Facetten aktiviert, wodurch die Facette gender generiert wird. Die endgültige Reihenfolge der Facetten in der Antwort kann dann („price“, „brands“, „rating“, „gender“) oder („price“, „brands“, „gender“, „rating“) sein, je nachdem, wie die API die Facetten „gender“ und „rating“ sortiert. „price“ und „brands“ werden jedoch immer auf Platz 1 und 2 eingestuft, da enableDynamicPosition auf „false“ gesetzt ist.

FacetKey

Gibt an, wie eine Facette berechnet wird.

JSON-Darstellung
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Felder
key

string

Erforderlich. Unterstützte Text- und numerische Attributschlüssel im Objekt Document, für die die Attributwerte berechnet werden. Bei Facettenschlüsseln wird zwischen Groß- und Kleinschreibung unterschieden.

intervals[]

object (Interval)

Wird nur festgelegt, wenn Werte in Intervalle unterteilt werden sollen. Muss für Facetten mit numerischen Werten festgelegt werden. Darf nicht für Facette mit Textwerten festgelegt werden. Die maximale Anzahl von Intervallen beträgt 30.

restrictedValues[]

string

Nur Facette für die angegebenen eingeschränkten Werte abrufen. Wird nur für Textfelder unterstützt. Angenommen, „category“ hat die drei Werte „Action > 2022“, „Action > 2021“ und „Sci-Fi > 2022“. Wenn Sie „restrictedValues“ auf „Action > 2022“ festlegen, enthält die Facette „category“ nur „Action > 2022“. Wird nur für Textfelder unterstützt. Der Maximalwert beträgt 10.

prefixes[]

string

Nur Facettenwerte abrufen, die mit dem angegebenen Stringpräfix beginnen. Angenommen, „category“ hat die drei Werte „Action > 2022“, „Action > 2021“ und „Sci-Fi > 2022“. Wenn Sie „prefixes“ auf „Action“ festlegen, enthält die Dimension „category“ nur „Action > 2022“ und „Action > 2021“. Wird nur für Textfelder unterstützt. Der Maximalwert beträgt 10.

contains[]

string

Nur Facettenwerte abrufen, die die angegebenen Strings enthalten. Angenommen, „category“ hat die drei Werte „Action > 2022“, „Action > 2021“ und „Sci-Fi > 2022“. Wenn Sie „contains“ auf „2022“ festlegen, enthält die Facette „category“ nur „Action > 2022“ und „Sci-Fi > 2022“. Wird nur für Textfelder unterstützt. Der Maximalwert beträgt 10.

caseInsensitive

boolean

„True“, damit bei der Suche nach Facettierungswerten mit Präfixen oder „contains“ die Groß-/Kleinschreibung für Facettenschlüssel nicht berücksichtigt wird. Andernfalls „false“.

orderBy

string

Die Reihenfolge, in der Dokumente zurückgegeben werden.

Zulässige Werte sind:

Wenn nicht festgelegt, werden Textwerte in natürlicher Reihenfolge sortiert. Numerische Intervalle werden in der durch FacetSpec.FacetKey.intervals angegebenen Reihenfolge sortiert.

Intervall

Ein Gleitkomma-Intervall.

JSON-Darstellung
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
Felder

Union-Feld min. Die Untergrenze des Intervalls. Wenn keines der „min“-Felder festgelegt ist, ist die Untergrenze minus unendlich.

Dieses Feld darf nicht größer als „max“ sein. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben. Für min ist nur einer der folgenden Werte zulässig:

minimum

number

Inklusive Untergrenze.

exclusiveMinimum

number

Ausgeschlossene Untergrenze.

Union-Feld max. Die Obergrenze des Intervalls. Wenn keines der Felder für das Maximum festgelegt ist, ist die Obergrenze positiv unendlich.

Der Wert in diesem Feld darf nicht kleiner als „min“ sein. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben. Für max ist nur einer der folgenden Werte zulässig:

maximum

number

Inklusive Obergrenze.

exclusiveMaximum

number

Ausschließliche Obergrenze.

QueryExpansionSpec

Spezifikation, um festzulegen, unter welchen Bedingungen die Abfrageerweiterung erfolgen soll.

JSON-Darstellung
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Felder
condition

enum (Condition)

Die Bedingung, unter der die Suchanfragenerweiterung erfolgen soll. Standardeinstellung ist Condition.DISABLED.

pinUnexpandedResults

boolean

Gibt an, ob nicht maximierte Ergebnisse angepinnt werden sollen. Wenn dieses Feld auf „true“ gesetzt ist, werden nicht maximierte Produkte immer oben in den Suchergebnissen angezeigt, gefolgt von den maximierten Ergebnissen.

Bedingung

Aufzählung, die beschreibt, unter welcher Bedingung die Suchanfragenerweiterung erfolgen soll.

Enums
CONDITION_UNSPECIFIED Nicht angegebene Bedingung für die Suchanfragenerweiterung. In diesem Fall ist das Serververhalten standardmäßig Condition.DISABLED.
DISABLED Suchanfragenerweiterung deaktiviert. Es wird nur die genaue Suchanfrage verwendet, selbst wenn SearchResponse.total_size null ist.
AUTO Automatische Suchanfragenerweiterung, die von der Search API erstellt wird.

SpellCorrectionSpec

Die Spezifikation für die Rechtschreibkorrektur von Anfragen.

JSON-Darstellung
{
  "mode": enum (Mode)
}
Felder
mode

enum (Mode)

Der Modus, in dem die Rechtschreibkorrektur die ursprüngliche Suchanfrage ersetzt. Die Standardeinstellung ist Mode.AUTO.

Modus

Aufzählung, die beschreibt, in welchem Modus die Rechtschreibkorrektur erfolgen soll.

Enums
MODE_UNSPECIFIED Nicht angegebener Modus für die Rechtschreibkorrektur. In diesem Fall ist das Serververhalten standardmäßig Mode.AUTO.
SUGGESTION_ONLY Die Search API versucht, einen Rechtschreibvorschlag zu finden. Wenn ein Vorschlag gefunden wird, wird er in SearchResponse.corrected_query eingefügt. Der Rechtschreibvorschlag wird nicht als Suchanfrage verwendet.
AUTO Automatische Rechtschreibkorrektur durch die Search API. Die Suche basiert auf der korrigierten Anfrage, sofern eine solche gefunden wird.

EmbeddingSpec

Die Spezifikation, die einen benutzerdefinierten Vektor für die Abfrageeinbettung verwendet, um semantische Dokumente abzurufen.

JSON-Darstellung
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Felder
embeddingVectors[]

object (EmbeddingVector)

Der für den Abruf verwendete Einbettungsvektor. Auf 1 begrenzen.

EmbeddingVector

Einbettungsvektor.

JSON-Darstellung
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Felder
fieldPath

string

Einbettungsfeldpfad im Schema.

vector[]

number

Einbettungsvektor für die Anfrage.

RankingExpressionBackend

Das Backend, das für die Auswertung des Ranking-Ausdrucks verwendet werden soll.

Enums
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Standardoption für nicht angegebene/unbekannte Werte.
BYOE

Verworfen: Verwenden Sie stattdessen RANK_BY_EMBEDDING. Ranking nach benutzerdefiniertem Einbettungsmodell, der Standardweg zur Bewertung des Ranking-Ausdrucks. Die alte Enum-Option RANK_BY_EMBEDDING sollte stattdessen verwendet werden.

CLEARBOX

Verworfen: Verwenden Sie stattdessen RANK_BY_FORMULA. Ranking nach benutzerdefinierter Formel. Die alte Enum-Option RANK_BY_FORMULA sollte stattdessen verwendet werden.

RANK_BY_EMBEDDING Ranking nach benutzerdefiniertem Einbettungsmodell, der Standardweg zur Bewertung des Ranking-Ausdrucks.
RANK_BY_FORMULA Ranking nach benutzerdefinierter Formel.

NaturalLanguageQueryUnderstandingSpec

Spezifikation zur Aktivierung von Funktionen zum Verarbeiten natürlicher Sprache für Suchanfragen.

JSON-Darstellung
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Felder
filterExtractionCondition

enum (FilterExtractionCondition)

Die Bedingung, unter der die Filter extrahiert werden sollen. Das Serververhalten ist standardmäßig auf DISABLED eingestellt.

geoSearchQueryDetectionFieldNames[]

string

Feldnamen, die für die standortbasierte Filterung verwendet werden, wenn Geolocation-Filter in Suchanfragen in natürlicher Sprache erkannt werden. Nur gültig, wenn „FilterExtractionCondition“ auf ENABLED festgelegt ist.

Wenn dieses Feld festgelegt ist, werden die in ServingConfig.geo_search_query_detection_field_names festgelegten Feldnamen überschrieben.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Optional. Steuert, wie extrahierte Filter auf die Suche angewendet werden. Das Standardverhalten hängt von der Anfrage ab. Bei der strukturierten Suche in einem einzelnen Datenspeicher ist der Standardwert HARD_FILTER. Bei der Suche in mehreren Datenspeichern ist das Standardverhalten SOFT_BOOST. Standortbasierte Filter werden immer als Hard-Filter angewendet und die Einstellung SOFT_BOOST hat keine Auswirkungen auf sie. Dieses Feld wird nur verwendet, wenn [SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition][] auf FilterExtractionCondition.ENABLED gesetzt ist.

allowedFieldNames[]

string

Optional. Zulassungsliste der Felder, die für die Extraktion von Filtern in natürlicher Sprache verwendet werden können. Wenn nichts angegeben ist, kommen standardmäßig alle indexierbaren Felder für die Extraktion von Filtern in natürlicher Sprache infrage. Es wird jedoch nicht garantiert, dass sie verwendet werden. Wenn Felder in „allowedFieldNames“ angegeben sind, kommen nur die Felder für die Extraktion von Filtern in natürlicher Sprache infrage, die sowohl im Schema als indexierbar gekennzeichnet als auch in der Zulassungsliste angegeben sind. Hinweis: Bei der Suche in mehreren Datenspeichern wird dies noch nicht unterstützt und ignoriert.

FilterExtractionCondition

Enumeration, die beschreibt, unter welcher Bedingung die Filterextraktion erfolgen soll.

Enums
CONDITION_UNSPECIFIED Das Serververhalten ist standardmäßig auf DISABLED eingestellt.
DISABLED Deaktiviert die Extraktion von Filtern in natürlicher Sprache.
ENABLED Ermöglicht das Extrahieren von Filtern in natürlicher Sprache.

ExtractedFilterBehavior

Aufzählung, die beschreibt, wie extrahierte Filter auf die Suche angewendet werden.

Enums
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED verwendet das Standardverhalten für extrahierte Filter. Bei der Suche in einem einzelnen Datenspeicher werden sie standardmäßig als Hard-Filter angewendet. Bei der Suche in mehreren Datenspeichern werden sie standardmäßig als Soft Boosts angewendet.
HARD_FILTER Wendet alle extrahierten Filter als Hard-Filter auf die Ergebnisse an. Ergebnisse, die die extrahierten Filter nicht bestehen, werden nicht in der Ergebnismenge zurückgegeben.
SOFT_BOOST Wendet alle extrahierten Filter als Soft Boosts an. Ergebnisse, die die Filter bestehen, werden im Ergebnissatz auf höhere Ränge verschoben.

SearchAsYouTypeSpec

Spezifikation für die Suche während der Eingabe in Suchanfragen.

JSON-Darstellung
{
  "condition": enum (Condition)
}
Felder
condition

enum (Condition)

Die Bedingung, unter der die Suche während der Eingabe erfolgen soll. Standardeinstellung ist Condition.DISABLED.

Bedingung

Aufzählung, die beschreibt, unter welcher Bedingung die automatische Vervollständigung der Suche erfolgen soll.

Enums
CONDITION_UNSPECIFIED Das Serververhalten ist standardmäßig auf Condition.DISABLED eingestellt.
DISABLED Deaktiviert die Suche während der Eingabe.
ENABLED Aktiviert die Suche während der Eingabe.
AUTO Automatisches Umschalten zwischen der Suche während der Eingabe und dem Standardmodus, ideal für Implementierungen mit einer einzigen API (z.B. Debouncing).

DisplaySpec

Gibt Funktionen für die Anzeige an, z. B. das Hervorheben von Übereinstimmungen.

JSON-Darstellung
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Felder
matchHighlightingCondition

enum (MatchHighlightingCondition)

Die Bedingung, unter der Übereinstimmungen hervorgehoben werden sollen.

MatchHighlightingCondition

Aufzählung, die beschreibt, unter welcher Bedingung die Übereinstimmung hervorgehoben werden soll.

Enums
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED Das Serververhalten ist dasselbe wie bei MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Deaktiviert die Hervorhebung von Übereinstimmungen in allen Dokumenten.
MATCH_HIGHLIGHTING_ENABLED Aktiviert die Hervorhebung von Übereinstimmungen in allen Dokumenten.

SessionSpec

Sitzungsspezifikation.

Die Funktion für die Suche mit mehreren Anfragen befindet sich derzeit in der privaten GA-Phase. Verwenden Sie stattdessen die Version v1alpha oder v1beta, bevor wir diese Funktion allgemein verfügbar machen. Alternativ können Sie das Google-Supportteam bitten, Sie auf die Zulassungsliste zu setzen.

JSON-Darstellung
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Felder
queryId

string

Wenn festgelegt, wird das Suchergebnis im „Turn“ gespeichert, das durch diese Abfrage-ID angegeben wird.

Beispiel: Angenommen, die Sitzung sieht so aus: session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

Der Nutzer kann die /search-API mit einer Anfrage wie dieser aufrufen:

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

Anschließend speichert die API das Suchergebnis, das mit dem letzten Turn verknüpft ist. Das gespeicherte Suchergebnis kann von einem nachfolgenden /answer-API-Aufruf verwendet werden, wenn die Sitzungs-ID und die Abfrage-ID angegeben sind. Außerdem ist es möglich, /search und /answer parallel mit derselben Sitzungs-ID und Abfrage-ID aufzurufen.

searchResultPersistenceCount

integer

Die Anzahl der wichtigsten Suchergebnisse, die beibehalten werden sollen. Die gespeicherten Suchergebnisse können für den nachfolgenden /answer-API-Aufruf verwendet werden.

Dieses Feld ähnelt dem Feld summaryResultCount in SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

Maximal 10 Ergebnisse im Dokumentmodus oder 50 Ergebnisse im Chunks-Modus.

RelevanceThreshold

Der Relevanzschwellenwert der Suchergebnisse. Je höher der Relevanzschwellenwert, desto relevanter sind die angezeigten Ergebnisse und desto weniger Ergebnisse werden zurückgegeben.

Enums
RELEVANCE_THRESHOLD_UNSPECIFIED Standardwert. In diesem Fall entspricht das Serververhalten dem von Google definierten Schwellenwert.
LOWEST Niedrigster Relevanzschwellenwert.
LOW Niedriger Relevanzschwellenwert.
MEDIUM Mittlerer Relevanzschwellenwert.
HIGH Hoher Relevanzschwellenwert.

RelevanceScoreSpec

Die Spezifikation für die Rückgabe des Relevanzwerts des Dokuments.

JSON-Darstellung
{
  "returnRelevanceScore": boolean
}
Felder
returnRelevanceScore

boolean

Optional. Gibt an, ob der Relevanzwert für Suchergebnisse zurückgegeben werden soll. Je höher der Wert, desto relevanter ist das Dokument für die Anfrage.

SearchAddonSpec

Mit SearchAddonSpec werden Add-ons für die Suche gemäß dem neuen Preismodell deaktiviert. Wenn die SearchAddonSpec nicht angegeben ist, gehen wir standardmäßig davon aus, dass der Kunde sie überall aktivieren möchte, wo dies möglich ist.

JSON-Darstellung
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Felder
disableSemanticAddOn

boolean

Optional. Wenn „true“, ist das semantische Add-on deaktiviert. Das semantische Add-on umfasst Einbettungen und Jetstream.

disableKpiPersonalizationAddOn

boolean

Optional. Wenn „true“, werden das Neusortieren von Ereignissen und die Personalisierung deaktiviert, um KPIs zu optimieren und Ergebnisse zu personalisieren.

disableGenerativeAnswerAddOn

boolean

Optional. Wenn „true“, ist das Add-on für generative Antworten deaktiviert. Das Add-on für generative Antworten umfasst natürliche Sprache für Filter und einfache Antworten.

QuerySetSpec

Beschreibt die Spezifikation des Abfragesets.

JSON-Darstellung
{
  "sampleQuerySet": string
}
Felder
sampleQuerySet

string

Optional. Der vollständige Ressourcenname des SampleQuerySet, der für die Bewertung verwendet wird, im Format projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Beschreibt die Messwerte, die bei der Bewertung generiert werden.

JSON-Darstellung
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Felder
docRecall

object (TopkMetrics)

Trefferquote pro Dokument bei verschiedenen Top-K-Grenzwerten.

Die Trefferquote ist der Anteil der abgerufenen relevanten Dokumente an allen relevanten Dokumenten.

Beispiel (Top 5): * Für eine einzelne SampleQuery: Wenn 3 von 5 relevanten Dokumenten in den Top 5 abgerufen werden, ist recall@5 = 3/5 = 0, 6.

docPrecision

object (TopkMetrics)

Genauigkeit pro Dokument bei verschiedenen Top-k-Grenzwerten.

Die Präzision ist der Anteil der abgerufenen Dokumente, die relevant sind.

Beispiel (Top 5): * Für ein einzelnes SampleQuery: Wenn 4 von 5 abgerufenen Dokumenten in den Top 5 relevant sind, ist precision@5 = 4/5 = 0, 8.

docNdcg

object (TopkMetrics)

Normalisierter diskontierter kumulierter Gewinn (NDCG) pro Dokument auf verschiedenen Top-k-Grenzwerten.

Mit NDCG wird die Rankingqualität gemessen, wobei Top-Ergebnisse stärker gewichtet werden.

Beispiel (Top 3): Angenommen, SampleQuery mit drei abgerufenen Dokumenten (D1, D2, D3) und binären Relevanzbewertungen (1 für relevant, 0 für nicht relevant):

Abgerufen: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)]

Berechnen Sie NDCG@3 für jede SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * Idealer DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3: 1,13/1,63 = 0,693

pageRecall

object (TopkMetrics)

Trefferquote pro Seite bei verschiedenen Top-k-Grenzwerten.

Die Trefferquote ist der Anteil der abgerufenen relevanten Seiten an allen relevanten Seiten.

Beispiel (Top 5): * Wenn für ein einzelnes SampleQuery 3 von 5 relevanten Seiten in den Top 5 abgerufen werden, gilt recall@5 = 3/5 = 0, 6.

pageNdcg

object (TopkMetrics)

Normalisierter diskontierter kumulierter Gewinn (NDCG) pro Seite bei verschiedenen Top-k-Grenzwerten.

Mit NDCG wird die Rankingqualität gemessen, wobei Top-Ergebnisse stärker gewichtet werden.

Beispiel (Top 3): Angenommen, SampleQuery mit drei abgerufenen Seiten (P1, P2, P3) und binären Relevanzbewertungen (1 für relevant, 0 für nicht relevant):

Abgerufen: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)]

NDCG@3 für SampleQuery berechnen: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * Ideales DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3: 1,13/1,63 = 0,693

TopkMetrics

Speichert die Messwerte auf bestimmten Top-k-Ebenen.

JSON-Darstellung
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Felder
top1

number

Der Top-1-Wert.

top3

number

Der Top-3-Wert.

top5

number

Der Wert der Top 5.

top10

number

Der Top-10-Wert.

Bundesland

Beschreibt den Status einer Auswertung.

Enums
STATE_UNSPECIFIED Die Bewertung ist nicht angegeben.
PENDING Der Dienst bereitet die Ausführung der Bewertung vor.
RUNNING Die Überprüfung läuft.
SUCCEEDED Die Bewertung wurde erfolgreich abgeschlossen.
FAILED Die Bewertung ist fehlgeschlagen.

Methoden

create

Erstellt einen Evaluation.

get

Erstellt einen Evaluation.

list

Ruft eine Liste von Evaluation ab.

listResults

Ruft eine Liste von Ergebnissen für ein bestimmtes Evaluation ab.