Indexery ve službě Azure Cognitive Search

Indexer v Azure Cognitive Search je prohledávací modul, který extrahuje prohledávatelný obsah z cloudových zdrojů dat a naplní index vyhledávání pomocí mapování polí na pole mezi zdrojovými daty a indexem vyhledávání. Tento přístup se někdy označuje jako "model vyžádání", protože vyhledávací služba načítá data, aniž byste museli psát kód, který přidává data do indexu. Indexery také řídí funkce rozšiřování umělé inteligence kognitivního vyhledávání, které integrují externí zpracování obsahu na index.

Indexery jsou pouze v cloudu s jednotlivými indexery pro podporované zdroje dat. Při konfiguraci indexeru zadáte zdroj dat (zdroj) a index vyhledávání (cíl). Několik zdrojů, například Azure Blob Storage, má více vlastností konfigurace specifických pro daný typ obsahu.

Indexery můžete spouštět na vyžádání nebo v plánu opakované aktualizace dat, který se spouští tak často jako každých pět minut. Častější aktualizace vyžadují model nabízených oznámení, který současně aktualizuje data v Azure Cognitive Search i ve vašem externím zdroji dat.

Scénáře indexeru a případy použití

Indexer můžete použít jako jediný prostředek pro příjem dat nebo v kombinaci s jinými technikami. Následující tabulka shrnuje hlavní scénáře.

Scenario Strategie
Jeden zdroj dat Tento vzor je nejjednodušší: jeden zdroj dat je jediným poskytovatelem obsahu pro index vyhledávání. Většina podporovaných zdrojů dat poskytuje určitou formu detekce změn, aby následný indexer vybral rozdíl při přidání nebo aktualizaci obsahu ve zdroji.
Více zdrojů dat Specifikace indexeru může mít pouze jeden zdroj dat, ale samotný index vyhledávání může přijímat obsah z více zdrojů, kde každé spuštění indexeru přináší nový obsah z jiného zprostředkovatele dat. Každý zdroj může přispívat svou sdílenou složkou celých dokumentů nebo naplnit vybraná pole v každém dokumentu. Podrobnější pohled na tento scénář najdete v kurzu: Indexování z více zdrojů dat.
Více indexerů Více zdrojů dat je obvykle spárováno s více indexery, pokud potřebujete měnit parametry běhu, plán nebo mapování polí.

Dalším scénářem je horizontální navýšení kapacity kognitivního vyhledávání napříč oblastmi. V různých oblastech můžete mít kopie stejného indexu vyhledávání. Pokud chcete synchronizovat obsah indexu vyhledávání, můžete mít několik indexerů, které načítají ze stejného zdroje dat, kde každý indexer cílí na jiný index vyhledávání v každé oblasti.

Paralelní indexování velmi velkých datových sad vyžaduje také strategii s více indexery, kde každý indexer cílí na podmnožinu dat.
Transformace obsahu Indexery řídí rozšiřování umělé inteligence. Transformace obsahu jsou definovány v sadě dovedností , kterou připojíte k indexeru.

Podporované zdroje dat

Indexery procházují úložiště dat v Azure a mimo Azure.

Indexery přijímají zploštěné sady řádků, například tabulku nebo zobrazení, nebo položky v kontejneru nebo složce. Ve většině případů vytvoří jeden vyhledávací dokument na řádek, záznam nebo položku.

Připojení indexeru ke vzdáleným zdrojům dat je možné provádět pomocí standardních internetových připojení (veřejných) nebo šifrovaných privátních připojení při použití virtuálních sítí Azure pro klientské aplikace. Můžete také nastavit připojení k ověření pomocí spravované identity. Další informace o zabezpečených připojeních najdete v tématu Přístup indexeru k obsahu chráněnému funkcemi zabezpečení sítě Azure a připojení ke zdroji dat pomocí spravované identity.

Fáze indexování

Když je index prázdný, indexer při počátečním spuštění přečte všechna data zadaná v tabulce nebo kontejneru. Při následných spuštěních může indexer obvykle rozpoznat a načíst pouze data, která se změnila. U dat objektů blob je detekce změn automatická. U jiných zdrojů dat, jako jsou Azure SQL nebo Azure Cosmos DB, musí být povolená detekce změn.

Pro každý dokument, který obdrží, indexer implementuje nebo koordinuje více kroků, od načtení dokumentu do konečného vyhledávacího webu "předání" pro indexování. Indexer také řídí spouštění a výstupy sady dovedností za předpokladu, že je definována sada dovedností.

Fáze indexeru

Fáze 1: Dokumentace praskání

Prolomení dokumentů je proces otevírání souborů a extrakce obsahu. Textový obsah lze extrahovat ze souborů ve službě, řádků v tabulce nebo položkách v kontejneru nebo kolekci. Pokud přidáte sadu dovedností a dovednosti obrázku, můžete také extrahovat obrázky a zařadit je do fronty pro zpracování obrázků.

V závislosti na zdroji dat bude indexer zkoušet různé operace, které extrahuje potenciálně indexovatelný obsah:

  • Pokud je dokument souborem s vloženými obrázky, jako je PDF, indexer extrahuje text, obrázky a metadata. Indexery můžou otevírat soubory z Azure Blob Storage, Azure Data Lake Storage Gen2 a SharePointu.

  • Pokud je dokument záznamem v Azure SQL, indexer extrahuje ne binární obsah z každého pole v každém záznamu.

  • Pokud je dokument záznamem ve službě Azure Cosmos DB, indexer extrahuje ne binární obsah z polí a dílčích polí z dokumentu služby Azure Cosmos DB.

Fáze 2: Mapování polí

Indexer extrahuje text ze zdrojového pole a odešle ho do cílového pole v indexu nebo úložišti znalostí. Pokud se názvy polí a datové typy shodují, cesta je jasná. Ve výstupu ale můžete chtít různé názvy nebo typy, v takovém případě potřebujete indexeru sdělit, jak mapovat pole.

Pokud chcete zadat mapování polí, zadejte do definice indexeru zdrojová a cílová pole.

Mapování polí probíhá po prolomení dokumentu, ale před transformacemi, když indexer čte ze zdrojových dokumentů. Při definování mapování polí se hodnota zdrojového pole odešle do cílového pole bez jakýchkoli úprav.

Fáze 3: Spuštění sady dovedností

Spuštění sady dovedností je volitelný krok, který vyvolá integrované nebo vlastní zpracování AI. Sady dovedností můžou přidat optické rozpoznávání znaků (OCR) nebo jiné formy analýzy obrázků, pokud je obsah binární. Sady dovedností můžou také přidávat zpracování přirozeného jazyka. Můžete například přidat překlad textu nebo extrakci klíčových frází.

Ať už transformace probíhá, provádění sady dovedností je místo, kde dochází k rozšiřování. Pokud je indexer kanálem, můžete si sadu dovedností představit jako "kanál v rámci kanálu".

Fáze 4: Mapování výstupních polí

Pokud zahrnete sadu dovedností, budete muset v definici indexeru zadat mapování výstupních polí . Výstup sady dovedností se projevuje interně jako stromová struktura označovaná jako obohacený dokument. Mapování výstupních polí umožňuje vybrat, které části tohoto stromu se mají mapovat na pole v indexu.

Navzdory podobnosti v názvech vytvářejí mapování výstupních polí a mapování polí přidružení z různých zdrojů. Mapování polí přidruží obsah zdrojového pole k cílovému poli v indexu vyhledávání. Mapování výstupních polí přidruží obsah interního rozšířeného dokumentu (výstupy dovedností) k cílovým polím v indexu. Na rozdíl od mapování polí, která jsou považována za volitelná, se pro veškerý transformovaný obsah, který by měl být v indexu, vyžaduje mapování výstupních polí.

Na následujícím obrázku je znázorněná ukázková relace ladění indexeru fází indexeru: prolomení dokumentů, mapování polí, spouštění sad dovedností a mapování výstupních polí.

ukázková ladicí relace

Základní pracovní postup

Indexery můžou nabízet funkce, které jsou jedinečné pro daný zdroj dat. Z toho důvodu se budou některé aspekty konfigurace indexeru nebo zdroje dat lišit podle typu indexeru. Všechny indexery ale sdílejí stejné základní složení a požadavky. Níže najdete popis kroků společných pro všechny indexery.

Krok 1: Vytvoření zdroje dat

Indexery vyžadují objekt zdroje dat , který poskytuje připojovací řetězec a případně přihlašovací údaje. Volání třídy Create Data Source (REST) nebo SearchIndexerDataSourceConnection pro vytvoření prostředku.

Zdroje dat jsou nezávislé objekty. Více indexerů může použít stejný objekt zdroje dat k načtení více indexů najednou.

Krok 2: Vytvoření indexu

Indexer automatizuje některé úkoly související s příjmem dat, ale vytváření indexu k nim obvykle nepatří. Jako předpoklad musíte mít předdefinovaný index, který obsahuje odpovídající cílová pole pro všechna zdrojová pole ve vašem externím zdroji dat. Pole musí odpovídat názvu a datovému typu. Pokud ne, můžete definovat mapování polí pro navázání přidružení. Další informace o strukturování indexu naleznete v tématu Vytvoření indexu (REST) nebo SearchIndex třídy.

Tip

Přestože indexery nedokážou vygenerovat index za vás, může vám pomoct průvodce importem dat na portálu. Ve většině případů dokáže průvodce odvodit schéma indexu ze stávajících metadat ve zdroji a zobrazit předběžné schéma indexu, které můžete upravit přímo v aktivním průvodci. Po vytvoření indexu ve službě jsou další úpravy na portálu omezené hlavně na přidávání nových polí. K vytvoření, ale ne revidování, indexu zvažte použití průvodce. Praktickou výuku najdete v průvodci portálem.

Krok 3: Vytvoření a spuštění indexeru (nebo plán)

Ve výchozím nastavení dojde k prvnímu spuštění indexeru při vytváření indexeru ve vyhledávací službě. Vlastnost zakázáno v indexeru můžete nastavit tak, aby ji vytvořila bez spuštění.

Během provádění indexeru dojde k chybám nebo upozorněním týkajícím se přístupu k datům nebo ověření sady dovedností. Dokud se spuštění indexeru neskuteční, závislé objekty, jako jsou zdroje dat a sady dovedností, jsou pasivní ve vyhledávací službě.

Po prvním spuštění indexeru ho můžete znovu spustit na vyžádání pomocí nástroje Run Indexer nebo můžete definovat opakovaný plán.

Stav indexeru můžete monitorovat na portálu nebo prostřednictvím rozhraní API pro získání stavu indexeru. Měli byste také spouštět dotazy na index , abyste ověřili, že výsledek je to, co jste očekávali.

Indexery nemají vyhrazené prostředky pro zpracování. Na základě toho se stav indexerů může před spuštěním (v závislosti na jiných úlohách ve frontě) zobrazit jako nečinný a časy spuštění nemusí být předvídatelné. Další faktory definují také výkon indexeru, jako je velikost dokumentu, složitost dokumentu, analýza obrázků mimo jiné.

Další kroky

Teď, když jste se seznámili s indexery, je dalším krokem kontrola vlastností a parametrů indexeru, plánování a monitorování indexeru. Případně se můžete vrátit do seznamu podporovaných zdrojů dat a získat další informace o konkrétním zdroji.