moreLikeThis (förhandsversion) i Azure AI Search
Viktigt!
Den här funktionen är i offentlig förhandsversion under kompletterande användningsvillkor. REST API för förhandsversion stöder den här funktionen.
moreLikeThis=[key]
är en frågeparameter i API:et sökdokument som hittar dokument som liknar det dokument som anges av dokumentnyckeln. När en sökbegäran görs med moreLikeThis
genereras en fråga med söktermer som extraheras från det angivna dokumentet som beskriver det dokumentet bäst. Den genererade frågan används sedan för att göra sökbegäran. Parametern moreLikeThis
kan inte användas med sökparametern , search=[string]
.
Som standard beaktas innehållet i alla sökbara fält på den översta nivån. Om du vill ange specifika fält i stället kan du använda parametern searchFields
.
Parametern moreLikeThis
stöds inte för komplexa typer och förekomsten av komplexa typer påverkar din frågelogik. Om ditt index är en komplex typ måste du ange searchFields
de sökbara fält på den översta nivån som moreLikeThis
itereras över. Om indexet till exempel har en sökbar field1
typ Edm.String
, och field2
det är en komplex typ med sökbara underfält, måste värdet searchFields
för vara inställt på att field1
exkludera field2
.
Exempel
Alla följande exempel använder hotellexemplet från Snabbstart: Skapa ett sökindex i Azure Portal.
Exempelfråga
Följande fråga hittar dokument vars beskrivningsfält mest liknar fältet i källdokumentet enligt parametern moreLikeThis
:
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview
I det här exemplet söker begäran efter hotell som liknar det med HotelId
29.
I stället för att använda HTTP GET kan du också anropa MoreLikeThis
med HTTP POST:
POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
Använd filter
MoreLikeThis
kan kombineras med andra vanliga frågeparametrar som $filter
. Frågan kan till exempel begränsas till endast hotell vars kategori är "Budget" och där omdömet är högre än 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
Markera fält och begränsa resultat
Väljaren $top
kan användas för att begränsa hur många resultat som ska returneras i en MoreLikeThis
fråga. Fält kan också väljas med $select
. Här väljs de tre översta hotellen tillsammans med deras ID, Namn och Omdöme:
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ästa steg
Du kan använda valfri REST-klient för den här övningen.