Dela via


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 moreLikeThisgenereras 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.