Sdílet prostřednictvím


moreLikeThis (Preview) ve službě Azure AI Search

Důležité

Tato funkce je ve veřejné verzi Preview v rámci dodatečných podmínek použití. Rozhraní REST API ve verzi Preview tuto funkci podporuje.

moreLikeThis=[key] je parametr dotazu v rozhraní API pro hledání dokumentů, který najde dokumenty podobné dokumentu určenému klíčem dokumentu. Když se vytvoří žádost o hledání s dotazem moreLikeThis, vygeneruje se hledané termíny extrahované z daného dokumentu, které popisují tento dokument nejlépe. Vygenerovaný dotaz se pak použije k vytvoření požadavku vyhledávání. Parametr moreLikeThis nelze použít s parametrem search=[string]vyhledávání.

Ve výchozím nastavení se považuje obsah všech prohledávatelných polí nejvyšší úrovně. Pokud chcete místo toho zadat konkrétní pole, můžete použít searchFields parametr.

Parametr moreLikeThis není podporován u složitých typů a přítomnost složitých typů bude mít vliv na logiku dotazu. Pokud je index složitým typem, je nutné nastavit searchFields vyhledávací pole nejvyšší úrovně, ve kterých moreLikeThis se iteruje. Pokud má například index prohledávatelný field1 typ Edm.Stringa field2 to je komplexní typ s prohledávatelnými dílčími poli, musí být hodnota searchFields nastavena tak, aby field1 byla vyloučena field2.

Příklady

Všechny následující příklady používají ukázku hotelů z rychlého startu: Vytvoření indexu vyhledávání na webu Azure Portal.

Jednoduchý dotaz

Následující dotaz najde dokumenty, jejichž popisová pole jsou nejvíce podobná poli zdrojového dokumentu, jak je specifikováno parametrem moreLikeThis :

GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview

V tomto příkladu požadavek vyhledá hotely podobné té s HotelId 29. Místo použití http GET můžete také vyvolat MoreLikeThis pomocí HTTP POST:

POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
    {
      "moreLikeThis": "29",
      "searchFields": "Description"
    }

Umožňuje použít filtry.

MoreLikeThis lze kombinovat s dalšími běžnými parametry dotazu, jako je $filter. Dotaz může být například omezen pouze na hotely, jejichž kategorie je Rozpočet a kde je hodnocení vyšší než 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

Výběr polí a omezení výsledků

Selektor $top lze použít k omezení počtu vrácených výsledků v MoreLikeThis dotazu. Pole lze také vybrat pomocí $select. Tady jsou vybrané tři nejlepší hotely spolu s ID, názvem a hodnocením:

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

Další kroky

Pro toto cvičení můžete použít libovolného klienta REST.