Udostępnij za pośrednictwem


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 field2wartość .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.