moreLikeThis (Vorschau) in Azure KI Search
Wichtig
Dieses Feature befindet sich in der Public Preview-Phase und unterliegt zusätzlichen Nutzungsbedingungen. Die Vorschau-REST-API unterstützt dieses Feature.
moreLikeThis=[key]
ist ein Abfrageparameter in der API zum Durchsuchen von Dokumenten, über den Dokumente gesucht werden, die dem mit dem Dokumentschlüssel angegebenen Dokument ähneln. Beim Ausführen einer Suchanforderung mit moreLikeThis
wird eine Abfrage mit Suchbegriffen generiert, die aus dem angegebenen Dokument extrahiert werden und das Dokument am besten beschreiben. Anhand der generierten Abfrage wird dann die Suchanforderung erstellt. Der Parameter moreLikeThis
kann nicht mit dem Suchparameter search=[string]
verwendet werden.
Standardmäßig werden die Inhalte aller durchsuchbaren Felder auf oberster Ebene berücksichtigt. Wenn Sie stattdessen bestimmte Felder angeben möchten, können Sie den Parameter searchFields
verwenden.
Der Parameter moreLikeThis
wird für komplexe Typen nicht unterstützt, und das Vorhandensein komplexer Typen wirkt sich auf die Abfragelogik aus. Wenn der Index ein komplexer Typ ist, müssen Sie searchFields
auf die durchsuchbaren Felder der obersten Ebene festlegen, die moreLikeThis
durchläuft. Verfügt der Index beispielsweise über ein durchsuchbares field1
vom Typ Edm.String
und field2
, einem komplexen Typen mit durchsuchbaren Unterfeldern, muss der Wert von searchFields
auf field1
festgelegt werden, um field2
auszuschließen.
Beispiele
In allen folgenden Beispielen wird das Beispiel für Hotels aus Schnellstart: Erstellen eines Suchindexes im Azure-Portal verwendet.
Einfache Abfrage
Mit der folgenden Abfrage werden Dokumente gesucht, deren Beschreibungsfelder dem Feld des Quelldokuments entsprechend der Angabe durch den Parameter moreLikeThis
am ähnlichsten sind:
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview
In diesem Beispiel sucht die Anforderung nach Hotels, die mit HotelId
29 vergleichbar sind.
Sie können MoreLikeThis
auch mithilfe von HTTP POST (anstelle von HTTP GET) aufrufen:
POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
Filter anwenden
MoreLikeThis
kann mit anderen allgemeinen Abfrageparametern wie $filter
kombiniert werden. Beispielsweise kann die Abfrage auf Hotels mit der Kategorie „Budget“ und einer Bewertung von mindestens 3,5 beschränkt werden:
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2024-05-01-preview
Auswählen von Feldern und Einschränken der Ergebnisse
Mit dem Selektor $top
kann die Anzahl von Ergebnissen eingeschränkt werden, die in einer Abfrage vom Typ MoreLikeThis
zurückgegeben werden sollen. Außerdem können Felder mit $select
ausgewählt werden. Hier werden die drei passendsten Hotels zusammen mit ihrer ID, ihrem Namen und ihrer Bewertung ausgewählt:
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&$top=3&$select=HotelId,HotelName,Rating&api-version=2024-05-01-preview
Nächste Schritte
Sie können einen beliebigen REST-Client für diese Übung verwenden.