Delen via


moreLikeThis (preview) in Azure AI Search

Belangrijk

Deze functie is beschikbaar als openbare preview onder aanvullende gebruiksvoorwaarden. De preview-REST API ondersteunt deze functie.

moreLikeThis=[key] is een queryparameter in de API documenten zoeken waarmee documenten worden gevonden die vergelijkbaar zijn met het document dat is opgegeven door de documentsleutel. Wanneer een zoekaanvraag wordt gedaan, moreLikeThiswordt er een query gegenereerd met zoektermen die zijn geëxtraheerd uit het opgegeven document waarin het beste wordt beschreven. De gegenereerde query wordt vervolgens gebruikt om de zoekaanvraag te maken. De moreLikeThis parameter kan niet worden gebruikt met de zoekparameter. search=[string]

Standaard wordt de inhoud van alle doorzoekbare velden op het hoogste niveau overwogen. Als u in plaats daarvan bepaalde velden wilt opgeven, kunt u de searchFields parameter gebruiken.

De moreLikeThis parameter wordt niet ondersteund voor complexe typen en de aanwezigheid van complexe typen heeft invloed op uw querylogica. Als uw index een complex type is, moet u instellen searchFields op de doorzoekbare velden op het hoogste niveau waarvoor moreLikeThis deze wordt herhaald. Als de index bijvoorbeeld een doorzoekbaar field1 type Edm.Stringheeft en field2 dat een complex type is met doorzoekbare subvelden, moet de waarde searchFields worden ingesteld om uit te field1 sluiten field2.

Voorbeelden

In alle volgende voorbeelden wordt het voorbeeld van hotels uit de quickstart gebruikt: Een zoekindex maken in Azure Portal.

Eenvoudige query

Met de volgende query worden documenten gevonden waarvan de beschrijvingsvelden het meest lijken op het veld van het brondocument, zoals opgegeven door de moreLikeThis parameter:

GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview

In dit voorbeeld zoekt de aanvraag naar hotels die vergelijkbaar zijn met de hotels met HotelId 29. In plaats van HTTP GET te gebruiken, kunt u ook http POST aanroepen MoreLikeThis :

POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
    {
      "moreLikeThis": "29",
      "searchFields": "Description"
    }

Filters toepassen

MoreLikeThis kan worden gecombineerd met andere algemene queryparameters, zoals $filter. De query kan bijvoorbeeld worden beperkt tot alleen hotels waarvan de categorie 'Budget' is en waarbij de classificatie hoger is dan 3,5:

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

Velden selecteren en resultaten beperken

De $top selector kan worden gebruikt om te beperken hoeveel resultaten moeten worden geretourneerd in een MoreLikeThis query. Ook kunnen velden worden geselecteerd met $select. Hier worden de top drie hotels geselecteerd, samen met hun id, naam en waardering:

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

Volgende stappen

U kunt elke REST-client voor deze oefening gebruiken.