Naplánování indexeru ve službě Azure AI Vyhledávač

Poznámka:

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

schedule Nastavte vlastnost tak, aby se indexery spouštěly podle plánu. Plánování indexeru je užitečné v situacích, jako jsou:

  • Zdrojová data se v průběhu času mění a chcete, aby indexátor automaticky zpracovával změny.
  • Zdrojová data jsou velmi velká a k indexování veškerého obsahu potřebujete opakovaný plán.
  • Index se plní z více zdrojů pomocí více indexátorů a chcete úlohy časově rozložit, aby se omezily konflikty.

Pokud se indexování nedá dokončit v typickém 2hodinovém intervalu zpracování, naplánujte, aby indexer běžel na 2hodinovém tempu, aby fungoval s velkým objemem dat. Pokud váš zdroj dat podporuje logiku detekce změn, můžou indexery automaticky vyzvednout místo, kde skončily při každém spuštění.

Jakmile indexer umístíte na plán, zůstane v plánu, dokud nezaškrtnete interval nebo čas zahájení nebo nastavíte disabled na hodnotu True. Pokud se naplánovaný indexátor neočekávaně přestane spouštět, postup obnovení najdete v článku Nejčastější dotazy k chování plánování. Ponechání indexovače naplánovaného, i když není co zpracovávat, nemá vliv na výkon systému. Kontrola změněného obsahu je poměrně rychlá operace.

Požadavky

  • Platný indexer nakonfigurovaný se zdrojem dat a indexem.

  • Detekce změn ve zdroji dat Azure Storage a SharePoint mají integrovanou detekci změn. U jiných zdrojů dat, jako jsou Azure SQL a Azure Cosmos DB, je nutné povolit zjišťování změn ručně.

Definice plánu

Plán je součástí definice indexeru. Pokud tuto vlastnost vynecháte schedule , indexer se spustí jenom na vyžádání. Vlastnost má dvě části.

Vlastnost Popis
"interval" (povinné) Doba mezi začátkem dvou po sobě jdoucích spuštění indexeru. Nejmenší povolený interval je 5 minut a nejdelší je 1 440 minut (24 hodin). Naformátujte ji jako hodnotu XSD dayTimeDuration (omezená podmnožina hodnoty doby trvání ISO 8601 ).

Vzor pro tuto hodnotu je: P(nD)(T(nH)(nM)).

Příklady: PT15M každých 15 minut, PT2H každé dvě hodiny.
čas zahájení (volitelné) Zadejte počáteční čas v koordinovaném univerzálním čase (UTC). Pokud tuto hodnotu vynecháte, použije se aktuální čas. Tento čas může být v minulosti, v takovém případě je první spuštění naplánováno tak, jako kdyby indexer běžel nepřetržitě od původního času spuštění.

Následující příklad je plán, který začíná 1. ledna o půlnoci a spouští se každé dvě hodiny.

{
    "dataSourceName" : "hotels-ds",
    "targetIndexName" : "hotels-idx",
    "schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}

Konfigurace plánu

Zadejte plány v definici indexeru. K nastavení plánu použijte portál Azure, rozhraní REST API nebo Azure SDK.

  1. Na webu Azure Portal přejděte do vyhledávací služby.
  2. V levém podokně vyberte Indexery.
  3. Otevřete indexer.
  4. Vyberte Nastavení.
  5. Posuňte se dolů k plánu a potom zvolte Hodinově, Denně nebo Vlastní a nastavte konkrétní datum, čas nebo vlastní interval.

Přepněte na kartu Definice indexeru (JSON) v horní části indexu a zobrazte definici plánu ve formátu XSD.

Nejčastější dotazy k chování při plánování

Můžu paralelně spustit více úloh indexeru?

Můžete spustit více indexerů současně, ale každý indexer je jedna instance. Současně nemůžete spustit dvě kopie stejného indexeru.

Pro indexování na základě textu může plánovač spustit tolik úloh indexeru, kolik vyhledávací služba podporuje, což určuje počet jednotek hledání . Pokud má například služba tři repliky a čtyři oddíly, můžete mít 12 úloh indexeru při aktivním spuštění, ať už iniciované na vyžádání, nebo podle plánu.

Indexery založené na dovednostech běží v konkrétním spouštěcím prostředí. Z tohoto důvodu počet jednotek služby nemá vliv na počet úloh indexeru založených na dovednostech, které můžete spustit. Paralelně může běžet několik indexerů založených na dovednostech, ale to závisí na dostupnosti procesoru obsahu v rámci spouštěcího prostředí.

Spouští se naplánované úlohy vždy v plánovaný čas?

Procesy indexeru se mohou hromadit ve frontě a nemusí se spustit přesně v uvedeném čase v závislosti na vytížení zpracování a dalších faktorech. Pokud například indexer stále běží v okamžiku, kdy má začít jeho další naplánované spuštění, čekající spuštění se odloží na další naplánovaný termín, takže aktuální úloha může být dokončena.

Pokud chcete, aby toto chování bylo konkrétnější, zvažte následující příklad. Předpokládejme, že nastavíte plán indexeru s hodinovým intervalem a časem zahájení 1. ledna 2024 v 8:00:00 UTC. Co se může stát, když spuštění indexeru trvá déle než hodinu:

  1. První spuštění indexeru začíná přibližně 1. ledna 2024 v 8:00 UTC. Předpokládejme, že toto spuštění trvá 20 minut (nebo jakoukoli dobu kratší než 1 hodinu).

  2. Druhé spuštění začíná přibližně 1. ledna 2024 v 9:00 UTC. Předpokládejme, že toto spuštění trvá 70 minut – více než hodinu – a dokončí se až v 10:10 UTC.

  3. Třetí spuštění je naplánované tak, aby se spustilo v 10:00 UTC, ale v té době je předchozí spuštění stále spuštěné. Pak se toto plánované spuštění přeskočí. Další spuštění indexeru se nespustí do 11:00 UTC.

Ve výjimečných případech, například během údržby nebo zotavení z přechodných podmínek, systém zařadí do fronty více spuštění indexeru. Když k této podmínce dojde, indexer provede čekající úlohy postupně v rámci naplánovaného okna. Pokud je například indexer naplánován tak, aby se spouštěl každou hodinu, a několik spuštění bylo zpožděno nebo spuštěno na vyžádání, tyto úlohy zařazené do fronty se budou spouštět bezprostředně po sobě, dokud se fronta nevyprázdní. Tato spuštění nejsou nadbytečná, ale představují dříve naplánované nebo požadované spuštění. I když je toto chování ve většině scénářů neobvyklé, indexer je navržený tak, aby nakonec zpracovával všechny úkoly zařazené do fronty, aby zachoval konzistenci a aktuálnost dat.

Poznámka:

Pokud máte přísné požadavky na provádění indexeru, které jsou citlivé na čas, zvažte použití modelu rozhraní API push , abyste mohli řídit kanál indexování přímo.

Co se stane, když se indexování opakovaně nezdaří ve stejném dokumentu?

Pokud indexer nastavíte na určitý plán, ale při každém spuštění opakovaně selhává na stejném dokumentu, začne se spouštět v delších intervalech (až do maximálního intervalu nejvýše jednou za 2 hodiny nebo za 24 hodin, v závislosti na různých implementačních faktorech), dokud se mu znovu nepodaří úspěšně postoupit. Pokud se domníváte, že jste opravili základní problém, spusťte indexer ručně. Pokud indexování proběhne úspěšně, vrátí se indexer do běžného plánu. Pokud se indexátor po úspěšném ručním spuštění nevrátí ke svému běžnému plánu, viz další otázka.

Naplánovaný indexer se přestal spouštět. Jak můžu resetovat jeho plán?

Pokud naplánovaný indexer přestane běžet, zakažte ho a pak ho znovu povolte pro resetování plánu. Znaménko, že toto obnovení je potřeba: v historii spuštění se nezobrazují žádná nová spuštění, i když je plán nakonfigurovaný a zdroj dat se změnil.

Nastavení disabled na true pozastaví plán. Nastavení hodnoty zpět na false (nebo vynechání vlastnosti) obnoví plánování a jako nový výchozí bod pro nastavený interval použije aktuální čas.

  1. Na webu Azure Portal přejděte do vyhledávací služby.
  2. Vyberte Indexers.
  3. Výběrem indexeru ho otevřete.
  4. Vyberte Nastavení.
  5. Nastavte indexer na Zakázáno.
  6. Vyberte Uložit.
  7. Nastavte indexer zpět na Povoleno.
  8. Vyberte Uložit.
  9. Vyberte kartu Historie spuštění a ověřte, že se nové spuštění zobrazí v dalším naplánovaném intervalu.

Poznámka:

Opětovné povolení indexeru resetuje plán vzhledem k aktuálnímu času, nikoli k původnímu startTime. Pokud je například interval dvě hodiny a v 15:15 znovu povolíte, bude další naplánované spuštění přibližně v 17:15.

Další kroky

U indexerů, které běží podle plánu, můžete monitorovat operace načtením stavu z vyhledávací služby nebo získáním podrobných informací povolením protokolování prostředků.