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.String
a 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.