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, moreLikeThis
wordt 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.String
heeft 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.