Import dat ve službě Azure AI Search
Ve službě Azure AI Search se dotazy spouštějí přes obsah vlastněný uživatelem načtený do indexu vyhledávání. Tento článek popisuje dva základní pracovní postupy pro naplnění indexu: nasdílení dat do indexu prostřednictvím kódu programu nebo načtení dat pomocí indexeru vyhledávání.
Oba přístupy načítají dokumenty z externího zdroje dat. I když můžete vytvořit prázdný index, není možné ho dotazovat, dokud nepřidáte obsah.
Poznámka:
Pokud je rozšíření AI nebo integrovaná vektorizace požadavky na řešení, musíte k načtení indexu použít model vyžádané replikace (indexery). Sady dovedností jsou připojené k indexerům a nespouštějí se nezávisle.
Nabídka dat do indexu
Model nabízených oznámení je přístup, který používá rozhraní API k nahrání dokumentů do existujícího indexu vyhledávání. Dokumenty můžete nahrát jednotlivě nebo v dávkách do 1 000 na dávku nebo 16 MB na dávku, podle toho, která omezení nastane dříve.
Mezi klíčové výhody patří:
Žádná omezení pro typ zdroje dat. Datová část se musí skládat z dokumentů JSON, které se mapuje na schéma indexu, ale data se dají zdrojovat odkudkoli.
Žádná omezení četnosti provádění. Do indexu můžete nabízet změny, jak často chcete. U aplikací s nízkými požadavky na latenci (například když se index musí synchronizovat s výkyvy inventáře produktů), je model nabízených oznámení jedinou možností.
Možnosti připojení a zabezpečené načítání dokumentů jsou plně pod vaší kontrolou. Naproti tomu připojení indexeru se ověřují pomocí funkcí zabezpečení poskytovaných ve službě Azure AI Search.
Jak odesílat data do indexu Azure AI Search
K načtení jednoho nebo více dokumentů do indexu použijte následující rozhraní API:
- Indexovací dokumenty (REST API)
- IndexDocumentsAsync (Azure SDK pro .NET) nebo SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK pro Python) nebo SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK pro Javu) nebo SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK pro JavaScript nebo SearchIndexingBufferedSender
Na webu Azure Portal se nepodporuje nabízení dat.
Úvod k rozhraním API nabízených oznámení najdete tady:
- Rychlý start: Fulltextové vyhledávání pomocí sad SDK Azure
- Kurz jazyka C#: Optimalizace indexování pomocí rozhraní PUSH API
- Rychlý start REST: Vytvoření indexu Azure AI Search pomocí PowerShellu
Akce indexování: nahrávání, sloučení, mergeOrUpload, odstranění
Typ akce indexování můžete řídit na základě jednotlivých dokumentů a určit, jestli se má dokument nahrávat v plném rozsahu, sloučit s existujícím obsahem dokumentu nebo odstranit.
Bez ohledu na to, jestli používáte rozhraní REST API nebo sadu Azure SDK, jsou pro import dat podporovány následující operace dokumentů:
Nahrajte podobně jako "upsert", do kterého se dokument vloží, pokud je nový, a pokud existuje, aktualizuje nebo nahradí. Pokud v dokumentu chybí hodnoty, které index vyžaduje, je hodnota pole dokumentu nastavená na hodnotu null.
Sloučení aktualizuje dokument, který již existuje, a selže dokument, který nelze najít. Sloučení nahradí existující hodnoty. Z tohoto důvodu nezapomeňte zkontrolovat pole kolekce, která obsahují více hodnot, například pole typu
Collection(Edm.String)
. Pokud napříkladtags
pole začíná hodnotou["budget"]
a provedete sloučení s["economy", "pool"]
, konečná hodnotatags
pole je["economy", "pool"]
.["budget", "economy", "pool"]
Nebude to .mergeOrUpload se chová jako sloučení , pokud dokument existuje, a pokud je dokument nový, nahrajte ho.
odstranění odebere celý dokument z indexu. Pokud chcete odebrat jednotlivá pole, použijte místo toho sloučení a nastavujte příslušné pole na hodnotu null.
Přetáhnutí dat do indexu
Model vyžádané replikace používá indexery, které se připojují k podporovanému zdroji dat a automaticky nahrají data do indexu. Indexery od Microsoftu jsou k dispozici pro tyto platformy:
- Azure Blob Storage
- Azure Table storage
- Azure Data Lake Storage Gen2
- Soubory Azure (Preview)
- Azure Cosmos DB
- Azure SQL Database, SQL Managed Instance a SQL Server na virtuálních počítačích Azure
- Soubory a klávesové zkratky OneLake
- SharePoint Online (Preview)
Můžete používat konektory třetích stran vyvinuté a spravované partnery Microsoftu. Další informace a odkazy najdete v galerii zdrojů dat.
Indexery propojují index se zdrojem dat (obvykle tabulka, zobrazení nebo ekvivalentní struktura) a mapují pole zdroje na odpovídající pole v indexu. Během provádění je sada řádků automaticky převedena na formát JSON a načtena do určeného indexu. Všechny indexery podporují plány, abyste mohli určit, jak často se mají data aktualizovat. Většina indexerů umožňuje sledování změn dat, pokud ho zdroj dat podporuje. Indexery sledují změny a odstranění ve stávajících dokumentech a rozpoznávají nové dokumenty, a díky tomu není potřeba aktivně spravovat data v indexu.
Jak načíst data do indexu Azure AI Search
Pro indexerové indexování použijte následující nástroje a rozhraní API:
- Průvodce importem dat nebo Průvodce importem a vektorizací dat
- Rozhraní REST API: Vytvoření indexeru (REST), vytvoření zdroje dat (REST) a vytvoření indexu (REST)
- Azure SDK pro .NET: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK pro Python: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK pro Javu: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK pro JavaScript: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
Funkce indexeru se zveřejňují na webu [Azure Portal], rozhraní REST API a sadě .NET SDK.
Výhodou použití portálu je, že Azure AI Search může obvykle generovat výchozí schéma indexu čtením metadat zdrojové datové sady.
Ověření importu dat pomocí Průzkumníka služby Search
Rychlý způsob, jak provést předběžnou kontrolu nahrání dokumentu, je použití Průzkumníka služby Search na portálu.
Průzkumníka můžete použít k zadávání dotazů na index, aniž byste museli programovat. Funkce vyhledávání je založena na výchozím nastavení, jako je jednoduchá syntaxe a výchozí parametr dotazu searchMode. Výsledky jsou vráceny ve formátu JSON, abyste si mohli prohlédnout celý dokument.
Tady je příklad dotazu, který můžete spustit v Průzkumníku služby Search v zobrazení JSON. HotelId je klíč dokumentu indexu hotels-sample-index. Filtr poskytuje ID dokumentu konkrétního dokumentu:
{
"search": "*",
"filter": "HotelId eq '50'"
}
Pokud používáte REST, dosáhne tento vyhledávací dotaz stejného účelu.