Da sich die Suchanforderungen für verschiedene Branchen unterscheiden und sich von Zeit zu Zeit ändern können, ist das Standardrankingverhalten möglicherweise nicht für alle geschäftlichen Anforderungen optimal. Um dieses Problem zu beheben, können Sie das Rankingverhalten mit benutzerdefiniertem Ranking ändern.
Auf dieser Seite wird beschrieben, wie Sie eine benutzerdefinierte Ranking-Formel in Ihrer Suchanfrage verwenden und wie Sie die Formel optimieren. Diese Funktion ist für strukturierte, unstrukturierte und Websitedaten verfügbar.
Übersicht
Mit dem benutzerdefinierten Ranking können Sie einen mathematischen Ausdruck angeben, der auf einer Reihe von modellberechneten Signalen wie dem semantischen Relevanzwert und dem Keyword-Ähnlichkeitswert sowie auf dokumentbasierten Signalen wie einem benutzerdefinierten Feld wie Entfernung oder Dokumentalter basiert.
Mit benutzerdefiniertem Ranking haben Sie folgende Möglichkeiten:
- Sichtbarkeit erhöhen: Sie können nachvollziehen, welche Signale zur endgültigen Platzierung Ihrer Suchergebnisse beitragen.
- Vorhandene Signale optimieren: Passen Sie die Gewichtungen verschiedener Signale wie semantische Ähnlichkeit, Keyword-Optionen oder Aktualität des Dokuments an.
- Geschäftslogik einbinden: Fügen Sie dem Ranking-Algorithmus Ihre eigenen benutzerdefinierten Signale aus Ihren Dokumentdaten hinzu.
- Systematisch optimieren: Mit der Open-Source-Python-Bibliothek können Sie das optimale Ranking-Formular programmatisch ermitteln.
Benutzerdefiniertes Ranking erforderlich – Beispiel
Stellen Sie sich ein Szenario vor, in dem die folgende Suchanfrage auf einer Hotelbuchungswebsite eingegeben wird:
luxury hotel with a large rooftop pool in Vancouver, pet-friendly and close to airport.
Angenommen, die folgenden Einträge werden abgerufen:
- Hotel A: „Das führende Luxushotel in Vancouver mit Blick auf den Flughafen. Es verfügt über einen beeindruckenden Pool auf dem Dach. Haustiere sind nicht erlaubt.“
- Hotel B: „Modernes, stilvolles Hotel in der Innenstadt von Vancouver. Haustierfreundlich mit geräumigen Zimmern. Es verfügt über einen großen Innenpool und ein Fitnesscenter.“
- Hotel C: „Ein charmantes haustierfreundliches Boutique-Hotel in der Nähe des Aquariums (10 Gehminuten von der Innenstadt entfernt). Das Hotel hat einen schönen Garten im Innenhof. Kein Pool.“
- Hotel D: „Ein legendäres rustikales Resort. Bekannt für seine exquisite Küche und seinen tadellosen Service. Es verfügt über einen Innenpool und ein Spa. Haustierfreundliche Optionen sind auf Anfrage verfügbar.“
Alle Hotels im Katalog enthalten das Feld distance_from_airport in Kilometern (km).
Einbettungsbasiertes Ranking
Das Suchsystem wandelt die Anfrage in eine einzelne Einbettung um. Anschließend wird diese Anfrageeinbettung mit den Einbettungen aller Hotels im Katalog verglichen. Hotels mit Einbettungen, die der Einbettung der Anfrage numerisch am nächsten sind, werden höher eingestuft.
So sieht das wahrscheinliche Ranking bei einer rein einbettungsbasierten Relevanzsuche aus:
| Ranking | Hotel | Möglicher Grund für dieses Ranking |
|---|---|---|
| 1 | Hotel A | Sehr starke semantische Übereinstimmung für „Luxus“, „Flughafen“ und „Rooftop-Pool“. „Keine Haustiere“ ist nicht wünschenswert, aber die anderen starken Übereinstimmungen sind wichtiger. |
| 2 | Hotel B | Gute semantische Übereinstimmung für „haustierfreundlich“ und „Pool“. „Indoor“ statt „Dach“, „modern“ und „stilvoll“ statt „luxuriös“ sowie „Innenstadt“ statt „Flughafen“ machen es jedoch weniger relevant als A. |
| 3 | Hotel D | Starke semantische Übereinstimmung für „tierfreundlich“ und „großer Pool“, aber „Innenpool“ statt „Dachpool“ und „rustikal“ statt „luxuriös“ machen es etwas weniger semantisch relevant als A und B. |
| 4 | Hotel C | Das Hotel ist sehr haustierfreundlich, aber „kein Pool“ und „Boutique“ verringern die Relevanz für diese spezifische Anfrage erheblich. |
Dieses Ranking liefert nicht die relevantesten Ergebnisse. Hotel A wird oben aufgeführt, obwohl es aufgrund der Angabe „Keine Haustiere erlaubt“ möglicherweise nicht von vielen Nutzern bevorzugt wird. Hotel D erfüllt viele Kriterien, wird aber weiter unten aufgeführt, weil der Status „rustikal“ nicht unbedingt mit „luxuriös“ übereinstimmt und der „Innenpool“ niedriger eingestuft wird als genaue Übereinstimmungen von „groß“ und „im Freien“.
Benutzerdefinierte Rangfolge
Angenommen, Sie haben den folgenden Ranking-Ausdruck für dieses Beispiel konfiguriert. Informationen zu den Komponenten dieses Ausdrucks finden Sie unter Benutzerdefiniertes Ranking implementieren.
rankingExpression = drr(semantic_similarity_score, 32) * 0.4 + drr(keyword_similarity_score, 32) * 0.3 + drr(c.distance_from_airport * -1, 32) * 0.8
Dabei ist distance_from_airport ein abrufbares Feld im Katalog und c.distance_from_airport fungiert als Signal.
Beim benutzerdefinierten Ranking werden verschiedene Signale berücksichtigt, die die Relevanz eines Dokuments beeinflussen. Anschließend erstellen Sie mit einer gültigen Syntax einen mathematischen Ausdruck, der diese Signale enthält. In diesem Ausdruck normalisieren Sie die Signale und weisen den abgeleiteten Werten Gewichte zu. Die endgültige benutzerdefinierte Punktzahl wird berechnet und die Dokumente werden eingestuft.
In diesem Beispiel kann dieser Prozess so erklärt werden:
Jedes Hotel erhält einen Wert für die semantische Ähnlichkeit und einen Wert für die Keyword-Ähnlichkeit. Außerdem ist die Entfernung zum Flughafen ein wichtiges Signal, das aus dem Dokument abgeleitet wird.
Die dichte Transformation des reziproken Rangs oder
drr()wird verwendet, um alle Werte auf dieselbe Skala zu transformieren.Die aus jedem Signal abgeleitete Punktzahl wird gewichtet. Die Summe aller einzelnen Punktzahlen ergibt dann die benutzerdefinierte Ranking-Punktzahl für jedes Hotel.
Die verschiedenen Signale für jedes Hotel sind in der folgenden Tabelle aufgeführt:
| Hotel | semantic_similarity_score |
keyword_similarity_score |
c.distance_from_airport |
Benutzerdefinierte Ranking-Bewertung | Benutzerdefinierte Rangfolge | Einbettungsbasiertes Ranking |
|---|---|---|---|---|---|---|
| Hotel A | 9,0 | 6.2 („Flughafen“, „Luxus“, „Pool auf dem Dach“) | 5,0 | 0,04879 | 2 | 1 |
| Hotel B | 7.5 | 5.6 („haustierfreundlich“, „Innenstadt“, „Innenpool“, „stilvoll“) | 12,5 | 0.04691 | 3 | 2 |
| Hotel C | 5,0 | 3.4 („tierfreundlich“, „Innenstadt“) | 18 | 0,04525 | 4 | 4 |
| Hotel D | 8.0 | 4.5 („Innenpool“, „haustierfreundlich“, „rustikal“) | 1 | 0.04890 | 1 | 3 |
Beim Vergleich der beiden Ranking-Methoden ergibt sich beim benutzerdefinierten Ranking ein durchdachteres Ranking, das wahrscheinlich besser den Anforderungen eines Nutzers entspricht als ein rein embeddingbasiertes Ranking.
Benutzerdefiniertes Ranking implementieren
Wenn Sie ein benutzerdefiniertes Ranking in Ihren Suchergebnissen erhalten möchten, müssen Sie die Methode search aufrufen und die folgenden Felder angeben:
Backend für Ranking-Ausdruck (
rankingExpressionBackend): In diesem Feld wird angegeben, welcher der folgenden Ranking-Mechanismen verwendet werden soll.RANK_BY_EMBEDDING: Dies ist der Standardwert, wenn dieses Feld nicht angegeben ist. Bei dieser Option werden die Ergebnisse anhand eines vordefinierten Ranking-Ausdrucks sortiert, der entweder auf Einbettungen oder auf Relevanz basiert.RANK_BY_FORMULA: Damit wird die Standardrangfolge überschrieben und Sie können Ihre benutzerdefinierte Formel im FeldrankingExpressionangeben.
Rankingausdruck (
rankingExpression): Dieses Feld enthält eine mathematische Formel, mit der das Ranking der abgerufenen Dokumente bestimmt wird.Für
RANK_BY_EMBEDDINGist dies entweder der Relevanzwert (double * relevanceScore) oder die Einbettung (double * dotProduct(embedding_field_path)).Bei
RANK_BY_FORMULAhandelt es sich um einen kuratierten Ausdruck, der mehrere Signale kombiniert, um für jedes Suchergebnis einen neuen Wert zu berechnen.
Standardsignale
Die Agentsuche bietet eine Vielzahl von Signalen, mit denen Sie ein benutzerdefiniertes Ranking erstellen können. Hier sind die verfügbaren Standardsignale:
| Signalname | Beschreibung |
|---|---|
default_rank |
Der Standardrang des Dokuments, der vom Standard-Rankingalgorithmus für Agent Search bestimmt wird. |
semantic_similarity_score |
Ein Wert, der auf der Grundlage von Anfrage- und Inhaltseinbettungen berechnet wird, um zu ermitteln, wie ähnlich eine Suchanfrage und der Inhalt eines Dokuments sind. Die Berechnung erfolgt mit einem proprietären Google-Algorithmus. |
relevance_score |
Ein Wert, der von einem Modell für die tiefgehende Relevanz generiert wird, das komplexe Interaktionen zwischen Anfragen und Dokumenten verarbeitet. Das Modell ermittelt die Bedeutung und Absicht einer Anfrage im Kontext des Inhalts. Dieser Wert wird mit einem proprietären Google-Algorithmus berechnet. |
keyword_similarity_score |
Eine Punktzahl, bei der der Schwerpunkt auf Keyword-Optionen liegt. Für dieses Signal wird die Ranking-Funktion „Best Match 25“ (BM25) verwendet. |
document_age |
Das Alter des Dokuments in Stunden. Unterstützt Gleitkommawerte. Ein Wert von 0,5 entspricht beispielsweise 30 Minuten, ein Wert von 50 entspricht 2 Tagen und 2 Stunden. |
pctr_rank |
Ein Rang, der die prognostizierten Conversion-Raten angibt, die auf Grundlage von Nutzerereignisdaten berechnet werden. Bei diesem Signal wird die prognostizierte Klickrate (pCTR) verwendet, um die Relevanz eines Suchergebnisses aus Nutzersicht zu bewerten. |
topicality_rank |
Ein Rang, der die Anpassung der Keyword-Ähnlichkeit angibt, die mit einem proprietären Google-Algorithmus berechnet wird. |
boosting_factor |
Eine Kombination aller benutzerdefinierten Steigerungen, die Sie auf das Dokument angewendet haben. |
Benutzerdefinierte Signale
Zusätzlich zu den Standardsignalen können Sie Signale aus jedem numerischen benutzerdefinierten Feld in einem Dokument verwenden, das als abrufbar gekennzeichnet ist. Fügen Sie dazu den Feldnamen das Präfix c. hinzu. Wenn Sie beispielsweise ein benutzerdefiniertes Feld mit dem Namen date_approved haben, können Sie c.date_approved als benutzerdefiniertes Signal verwenden.
Signalnamen sind eine Kombination aus alphabetischen Zeichen und Unterstrichen (_). Die folgende Liste enthält reservierte Namen, die nicht als Signalnamen verwendet werden können: log, exp, rr, drr, is_nan, fill_nan und geo_distance.
Geodistanz – ein abgeleitetes Signal
Abgeleitete Signale wie die geografische Entfernung werden auf Grundlage von Standard- und benutzerdefinierten Signalen berechnet. „Geodistance“ ist eine Funktion, mit der die Entfernung zwischen einem Quell- und einem Zielort berechnet wird. Die Funktion geo_distance() wird als geo_distance(source_location, destination_location) ausgedrückt. Sie besteht aus den folgenden Argumenten:
Der Quellstandort oder
source_location: Der Ursprung für die Berechnung der Entfernung. Er kann einer der folgenden Typen sein:Standort der Anfrage: Der Standort, der mithilfe von NLU-Modellen (Natural Language Understanding) aus der Anfrage geparst wird. Im Beispiel der Anfrage
Hotels along the M6extrahiert das Modell zur Verarbeitung natürlicher SpracheHotelsals Was undM6als Wo der Suchparameter. Der where-Teil ist der Abfrageort und kann als Punkt, Polylinie, Kreis oder Polygon dargestellt werden.{ "query": "Hotels along M6", "ranking_expression": "geo_distance(query_loc, c.hotel_location)", "ranking_expression_backend": "RANK_BY_FORMULA" }Standortkoordinaten anfordern: Ein Standort, der explizit in der Suchanfrage angegeben wird, z. B. der Breiten- und Längengrad eines Nutzers. Sie können die Anfrage beispielsweise als
Hotelsangeben und einen Ort mithilfe von Breiten- und Längengrad angeben.{ "query": "Hotels", "user_info": { "precise_location": { "point": { "lat": 52.23034637633789, "lon": 20.98339855121653, } } }, "ranking_expression": "geo_distance(request_loc, c.hotel_location)", "ranking_expression_backend": "RANK_BY_FORMULA" }Anfrageadresse: Eine Adresse, die explizit in der Suchanfrage angegeben wird. Sie können die Anfrage beispielsweise als
Hotelsangeben und eine Referenzadresse angeben.{ "query": "Hotels", "user_info": { "precise_location": { "address": "1800 Amphibious Blvd. Mountain View, CA 94045" } }, "ranking_expression": "geo_distance(request_loc, c.hotel_location)", "ranking_expression_backend": "RANK_BY_FORMULA" }
Der Zielort oder
destination_location: Das Ziel für die Berechnung der Entfernung. Dabei handelt es sich um ein benutzerdefiniertes abrufbares Feld wiec.office_locationoderc.home_location.
Die Reihenfolge dieser Argumente innerhalb der Funktion muss gleich bleiben. Das bedeutet, dass der Quellort immer das erste Argument in der geo_distance()-Funktion sein muss, gefolgt vom Zielort.
Die Funktion berechnet die Entfernung in Metern anhand des Breiten- und Längengrads der Quell- und Zielorte.
Syntax der Ranking-Formel
Die benutzerdefinierte Rankingformel ist ein mathematischer Ausdruck mit den folgenden Komponenten:
Zahlen (
double): Ein positiver oder negativer Gleitkommawert, der einem Signal oder Ausdruck eine Gewichtung hinzufügt.Signale (
signal): Die Namen der Signale, die im Abschnitt Standardsignale aufgeführt sind.Arithmetische Operatoren:
+(Addition) und*(Multiplikation).Mathematische Funktionen:
log(expression): Der natürliche Logarithmusexp(expression): Der natürliche Exponent
Jeder dieser Ausdrücke akzeptiert genau ein Argument, das ein Ausdruck in Bezug auf ein Signal ist.
Beispiele für eine gültige Funktion:
exp(c.document_age)undlog(keywordSimilarityScore * 0.2 + 1.0).Funktion für die Transformation des dichten reziproken Rangs (
drr):Diese Funktion wird als
drr(expression, k, eps)ausgedrückt. Die Dokumente werden zuerst nach dem Wert vonexpressionin absteigender Reihenfolge sortiert und ihnen wird ein Rang zugewiesen. Wenn die Ausdruckswerte innerhalb vonepsliegen, gelten sie als gleich. Anschließend wird der Endwert mit dem Ausdruck1 / (rank_i + k)berechnet. In diesem Ausdruck istrank_idie Position des Dokuments in der sortierten Liste, beginnend mit 0, undkeine positive Gleitkommazahl, die Sie angeben.Die
drr()-Funktion wird in der Regel verwendet, um alle Werte auf dieselbe Skala zu transformieren und zusätzliche Normalisierung zu vermeiden.Google empfiehlt, diese Funktion anstelle der früheren Funktion für die Transformation des reziproken Rangs (
rr) zu verwenden, da sie bessere Ergebnisse liefert, wenn Signale für die Top-Ergebnisse gleich sind. Wenn beispielsweise nach Hotels in San Francisco gesucht wird, gibt es viele Hotels innerhalb der Stadtgrenzen, sodass viele Hotels dasselbe Signal für die geografische Entfernung haben.Weitere Informationen zum Parameter
eps:Der Parameter
epsbietet mehr Flexibilität bei der Entscheidung, ob zwei Signale gleich sind. Entsprechende Signale sind am häufigsten für Signale des Typsboosting_factor,geo_distance, benutzerdefiniert (kategorisch) und benutzerdefiniert (Ganzzahl) verfügbar.Mit der Funktion wird ermittelt, ob der Ausdruckswert aus einem Dokument mit dem Ausdruckswert aus einem anderen Dokument übereinstimmt. Wenn
eps=0, müssen die Werte genau gleich sein, um als gleich zu gelten. Wenneps>0, gelten die Werte innerhalb des vonepsangegebenen Bereichs als gleich.Genauer gesagt: Wenn
x1undx2Signalwerte sind, werden sie als derselbe Wert betrachtet, wenn die absolute Differenz zwischen den beiden kleiner oder gleichepsist, d. h. wennabs(x1-x2) <= eps. Standardmäßig isteps=0, was bedeutet, dass die Werte als gleich betrachtet werden, wennx1 == x2. Der Standardwerteps=0funktioniert gut für Ganzzahlen, kann aber in einigen Fällen für Gleitkommazahlen fehlschlagen, da die Gleitkommaarithmetik ungenau ist. Das ist z. B. der Fall, wenn 1/5 als0.20000000000001oder als0.19999999999ausgewertet wird.
Funktion für die Transformation des reziproken Rangs (
rr): Diese Funktion wird alsrr(expression, k)ausgedrückt. Die Dokumente werden zuerst nach dem Wert vonexpressionin absteigender Reihenfolge sortiert und ihnen wird ein Rang zugewiesen. Anschließend wird der endgültige Wert mit dem Ausdruck1 / (rank_i + k)berechnet. In diesem Ausdruck istrank_idie Position des Dokuments in der sortierten Liste, beginnend mit 0, undkeine positive Gleitkommazahl, die Sie angeben.Die
rr()-Funktion wird in der Regel verwendet, um alle Werte auf dieselbe Skala zu transformieren und zusätzliche Normalisierung zu vermeiden.Obwohl diese Funktion unterstützt wird, empfiehlt Google die neuere Funktion für die Transformation des dichten reziproken Rangs (
drr).Funktionen zur Verarbeitung von „Not a Number“ (NaN):
is_nan(expression): Wenn der Ausdruck als „NaN“ ausgewertet wird, z. B. wenn ein Signal für ein Dokument fehlt, wird1zurückgegeben. Andernfalls wird0zurückgegeben.fill_nan(arg_expression, fill_with_expression): Wennarg_expressionals NaN ausgewertet wird, wirdfill_with_expressionzurückgegeben. Andernfalls wirdarg_expressionzurückgegeben. Das ist entscheidend für den Umgang mit Dokumenten, bei denen bestimmte Signale fehlen.
Beispiele für Rankingformeln
Hier sind einige Beispiele für Ranking-Formeln, die Sie im Feld rankingExpression Ihrer Suchanfrage verwenden können:
Eine elementare Linearkombination:
semantic_similarity_score * 0.7 + keyword_similarity_score * 0.3Eine komplexe Formel mit dichtem reziproken Rang und NaN-Verarbeitung:
drr(fill_nan(semantic_similarity_score, 0), 40) * 0.5 + drr(topicality_rank * -1, 40) * 0.5Eine komplexe Formel mit dichtem reziproken Rang, Exponentialfunktion und NaN-Verarbeitung:
drr(fill_nan(semantic_similarity_score, 0), 40) * 0.2 + exp(keyword_similarity_score) * 0.3 + is_nan(keyword_similarity_score) * 0.1Eine komplexe Formel mit dichtem reziproken Rang und der Funktion
geo_distance(), die die Verwendung des Parametersepsmit der Funktiongeo_distance()veranschaulicht:drr(keyword_similarity_score, 16) * 0.8 + drr(geo_distance(query_loc, c.office_location) * -1, 16, 0.00001) * 0.2In dieser Formel ist der Multiplikationsfaktor ein negativer Wert. Ein größerer Abstand entspricht also einem kleineren (negativeren) Ausdruckswert. Daher wird mit dem reziproken Rang ein niedrigerer Ranking-Wert für größere Abstände zugewiesen.
Signale in der Antwort
Wenn ein Dokument in der Suchantwort zurückgegeben wird, werden im Suchergebnis die Standardsignale und benutzerdefinierten Signale aufgeführt, die zum Abrufen des Dokuments aus dem Datenspeicher beitragen. Im Feld rankSignals werden diese Signale aufgeführt.
Textfelder für die Keyword-Ähnlichkeit
Damit das keywordSimilarityScore-Signal in strukturierten Datenspeichern in Ihrer Suchantwort enthalten ist, müssen Sie Ihr Schema aktualisieren, um Folgendes zu tun:
- Ordnen Sie die für Keyword-Optionen erforderlichen Textfelder den Schlüsselattributen
titleunddescriptionzu. - Aktualisieren Sie die Anmerkung für die Textfelder auf
Searchable.
Ranking mit Rankingformel in der Suche anpassen
Wenn Sie das Ranking für Ihre Dokumente in den Suchergebnissen anpassen möchten, erstellen Sie manuell eine Formel und fügen Sie sie Ihrem search-API-Aufruf hinzu.
Rankingausdruck formulieren
Suchergebnisse abrufen
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "rankingExpression": "RANKING_EXPRESSION", "rankingExpressionBackend": "RANK_BY_FORMULA" }'Ersetzen Sie Folgendes:
PROJECT_ID: die ID Ihres Projekts in Google Cloud .APP_ID: die ID der Agent Search-App, die Sie abfragen möchten.QUERY: der Abfragetext für die Suche.RANKING_EXPRESSION: Die benutzerdefinierte Ranking-Formel, die Sie mit den verfügbaren Signalen und einer gültigen Syntax für Ranking-Formeln schreiben können.- Gültige Beispiele finden Sie unter Beispiele für Ranking-Formeln.
- Informationen zum Optimieren der Ranking-Formel, um die besten Ergebnisse zu erzielen, finden Sie unter Ranking-Formel mit der Python-Bibliothek optimieren.
Ranking-Formel mit der Python-Bibliothek optimieren
Für komplexere Anwendungsfälle kann es schwierig sein, die optimalen Gewichte für Ihre Formel zu finden. Um dieses Problem zu umgehen, können Sie die Python-Bibliothek zur Optimierung des Rankings von Agent Search verwenden. Diese Open-Source-Bibliothek hilft Ihnen, eine geeignete Formel für Ihren Anwendungsfall zu finden.
Dies ist der allgemeine Workflow:
- Erstellen Sie einen Datensatz mit Anfragen und entsprechenden Gold-Labels. Diese Gold-Labels können eindeutige Kennfelder wie die Dokument-ID sein, mit denen Sie das
SearchResult-Objekt in der Suchantwort verknüpfen können. - Rufen Sie für eine Reihe repräsentativer Anfragen die
search-API auf, um die verfügbaren Ranking-Signale für alle zurückgegebenen Dokumente abzurufen. Sie finden sie im FeldSearchResult.rankSignals. Speichern Sie diese Daten zusammen mit Ihren Golden Labels. Verwenden Sie die Python-Bibliothek, um ein Ranking-Modell für dieses Dataset zu trainieren. Weitere Informationen finden Sie unter Clearbox-Python-Bibliothek.
Konvertieren Sie die Formel aus den Trainingsergebnissen in einen Ranking-Ausdruck, den Sie dann in Ihren API-Aufrufen verwenden können.