moreLikeThis (wersja zapoznawcza) w usłudze Azure AI Search
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej w obszarze Dodatkowe warunki użytkowania. Interfejs API REST w wersji zapoznawczej obsługuje tę funkcję.
moreLikeThis=[key]
to parametr zapytania w interfejsie API wyszukiwania dokumentów, który znajduje dokumenty podobne do dokumentu określonego przez klucz dokumentu. Po wysłaniu moreLikeThis
żądania wyszukiwania za pomocą polecenia zapytanie jest generowane przy użyciu terminów wyszukiwania wyodrębnionych z danego dokumentu, które najlepiej opisują ten dokument. Wygenerowane zapytanie jest następnie używane do wysyłania żądania wyszukiwania. Nie moreLikeThis
można użyć parametru z parametrem wyszukiwania , search=[string]
.
Domyślnie uwzględniana jest zawartość wszystkich pól z możliwością wyszukiwania najwyższego poziomu. Jeśli zamiast tego chcesz określić określone pola, możesz użyć parametru searchFields
.
Parametr moreLikeThis
nie jest obsługiwany w przypadku typów złożonych , a obecność typów złożonych będzie mieć wpływ na logikę zapytania. Jeśli indeks jest typem złożonym, musisz ustawić searchFields
na pola z możliwością wyszukiwania najwyższego poziomu, w których moreLikeThis
iteruje. Jeśli na przykład indeks ma wyszukiwany typ , i field2
jest to typ złożony z polami podrzędnymi z możliwością field1
wyszukiwania, wartość searchFields
musi być ustawiona na wartość , aby wykluczyć field1
field2
wartość .Edm.String
Przykłady
W poniższych przykładach użyto przykładu hotels z przewodnika Szybki start: tworzenie indeksu wyszukiwania w witrynie Azure Portal.
Proste zapytanie
Następujące zapytanie znajduje dokumenty, których pola opisu są najbardziej podobne do pola dokumentu źródłowego określonego moreLikeThis
przez parametr :
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview
W tym przykładzie żądanie wyszukuje hotele podobne do HotelId
29.
Zamiast używać protokołu HTTP GET, można również wywołać MoreLikeThis
metodę HTTP POST:
POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
Zastosuj filtry
MoreLikeThis
można połączyć z innymi typowymi parametrami zapytania, takimi jak $filter
. Na przykład zapytanie może być ograniczone tylko do hoteli, których kategoria to "Budżet" i gdzie ocena jest wyższa niż 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
Wybieranie pól i ogranicz wyniki
Selektor $top
może służyć do ograniczenia liczby wyników, które mają być zwracane w zapytaniu MoreLikeThis
. Ponadto pola można wybrać za pomocą polecenia $select
. W tym miejscu wybierane są trzy najlepsze hotele wraz z ich identyfikatorami, nazwami i ocenami:
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
Następne kroki
W tym ćwiczeniu możesz użyć dowolnego klienta REST.