Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Důležité
Na funkce, možnosti nebo vlastnosti označené jako (Preview) se nevztahuje smlouva o úrovni služeb, nejsou doporučené pro produkční úlohy a mohou se změnit nebo být omezeny dříve, než budou obecně k dispozici. Podmínky Azure AI Vyhledávač Preview platí pro všechny funkce ve verzi Preview, ať už jsou samostatné nebo součástí obecně dostupné funkce.
Důležité
Tyto funkce podporují připojení k jiným služby Microsoft a službám třetích stran. Použití těchto služeb podléhá vlastním podmínkám jednotlivých služeb a může vést ke zpracování nebo ukládání dat mimo hranici souladu Azure, stejně jako k toku dat do hranice souladu Azure.
Je vaší zodpovědností spravovat, jestli budou vaše data přetékat mimo dodržování předpisů a geografické hranice vaší organizace a případné související důsledky a že se zřídí příslušná oprávnění, hranice a schválení.
Zodpovídáte za pečlivou kontrolu a testování aplikací, které vytváříte v kontextu konkrétních případů použití, a za veškerá vhodná rozhodnutí a přizpůsobení. To zahrnuje implementaci vlastního zodpovědného zmírnění rizik umělé inteligence, jako jsou metaprompty, filtry obsahu nebo jiné bezpečnostní systémy, a zajištění toho, aby vaše aplikace splňovaly příslušné standardy kvality, spolehlivosti, zabezpečení a důvěryhodnosti. Další informace najdete v informacích o transparentnosti Azure AI Vyhledávač.
Indexer Azure Database for MySQL (Preview) importuje obsah z flexibilního serveru Azure Database for MySQL do indexu Azure AI Vyhledávač. Vstupy indexeru jsou řádky z jedné tabulky nebo zobrazení. Výstup je index vyhledávání s prohledávatelným obsahem v jednotlivých polích.
Tento článek doplňuje Vytvoření indexeru s informacemi specifickými pro indexování z flexibilního serveru Azure Database for MySQL. Pomocí rozhraní REST API demonstruje třídílný pracovní postup společný pro všechny indexery: vytvoření zdroje dat, vytvoření indexeru a vytvoření indexeru. Extrakce dat nastane, když odešlete požadavek Create Indexer.
Když je nakonfigurované tak, aby zahrnovaly vysokou mez a obnovitelné odstranění, indexer provede všechny změny, nahraje a odstraní vaši databázi MySQL. Tyto změny se projeví v indexu vyhledávání. Extrakce dat nastane, když odešlete požadavek Create Indexer.
Požadavky
Vyplňte registrační formulář indexeru ve verzi Preview. Registrace se automaticky schválí.
flexibilní server Azure Database for MySQL a ukázková data. Data se musí nacházet v tabulce nebo zobrazení. Je vyžadován primární klíč. Pokud používáte zobrazení, musí mít sloupec horní meze.
Oprávnění ke čtení Připojovací řetězec pro úplný přístup obsahuje klíč, který uděluje přístup k obsahu, ale pokud používáte role Azure, ujistěte se, že spravovaná identita vyhledávací služby má oprávnění Reader pro MySQL.
Klient REST pro vytvoření zdroje dat, indexu a indexeru.
Můžete také použít Azure SDK pro .NET. K vytvoření indexeru nemůžete použít portál Azure, ale po vytvoření můžete spravovat indexery a zdroje dat.
Omezení verze Preview
Sledování změn a detekce odstranění v současné době nefungují, pokud je datum nebo časové razítko stejné pro všechny řádky. Toto omezení je známý problém, který je potřeba vyřešit v aktualizaci verze Preview. Dokud se tento problém nevyřeší, nepřidávejte do indexeru MySQL sadu dovedností.
Náhled nepodporuje typy geometrie a bloby.
Jak je uvedeno, neexistuje podpora vytváření indexeru portálu, ale indexer MySQL a zdroj dat je možné spravovat na portálu Azure jakmile existují. Můžete například upravit definice a resetovat, spustit nebo naplánovat indexer.
Definování zdroje dat
Definice zdroje dat určuje data, která se mají indexovat, přihlašovací údaje a zásady pro identifikaci změn v datech. Zdroj dat je definován jako nezávislý prostředek, aby ho mohl používat více indexerů.
Vytvoření nebo aktualizace zdroje dat určuje definici. Při vytváření zdroje dat nezapomeňte použít rozhraní REST API ve verzi Preview.
{
"name" : "hotel-mysql-ds",
"description" : "[Description of MySQL data source]",
"type" : "mysql",
"credentials" : {
"connectionString" :
"Server=[MySQLServerName].MySQL.database.azure.com; Port=3306; Database=[DatabaseName]; Uid=[UserName]; Pwd=[Password]; SslMode=Preferred;"
},
"container" : {
"name" : "[TableName]"
},
"dataChangeDetectionPolicy" : {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "[HighWaterMarkColumn]"
}
}
Klíčové body:
Nastaveno
typena"mysql"(povinné).Nastavte
credentialsna ADO.NET připojovací řetězec. Připojovací řetězce najdete na portálu Azure na stránce Connection pro MySQL.Nastavte
containerna název tabulky.Nastavte
dataChangeDetectionPolicy, jestli jsou data nestálá a chcete, aby indexer zvedá pouze nové a aktualizované položky v následných spuštěních.Nastavte
dataDeletionDetectionPolicy, pokud chcete odebrat vyhledávací dokumenty z indexu vyhledávání při odstranění zdrojové položky.
Poznámka
U vlastnosti názvu kontejneru je hodnota omezena pouze na povolení písmen, číslic, podtržítka (_), tečk (.), jednoduchých pomlček (-) a hranatých závorek ([]).
Vytvoření indexu
Vytvoření nebo aktualizace indexu určuje schéma indexu:
{
"name" : "hotels-mysql-ix",
"fields": [
{ "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false },
{ "name": "Category", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "City", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "Description", "type": "Edm.String", "searchable": false, "filterable": false, "sortable": false }
]
}
Pokud primární klíč ve zdrojové tabulce odpovídá klíči dokumentu (v tomto případě "ID"), indexer naimportuje primární klíč jako klíč dokumentu.
Mapování datových typů
Následující tabulka mapuje databázi MySQL na ekvivalenty služby Azure AI Vyhledávač. Další informace najdete v tématu Podporované datové typy (Azure AI Vyhledávač).
Poznámka
Náhled nepodporuje typy geometrie a bloby.
| Datové typy MySQL | typy polí Azure AI Vyhledávač |
|---|---|
bool, boolean |
Edm.Boolean, Edm.String |
tinyint, smallint, mediumint, int, , integeryear |
Edm.Int32, Edm.Int64, Edm.String |
bigint |
Edm.Int64, Edm.String |
float, double, real |
Edm.Double, Edm.String |
date, datetime, timestamp |
Edm.DateTimeOffset, Edm.String |
char, varchar, mediumtext, longtext, enum, tinytext, text, set, time |
Edm.String |
| bez znaménka numerická data, sériový, desetinný, dec, bit, blob, binární, geometrie | N/A |
Konfigurace a spuštění indexeru MySQL
Po vytvoření indexu a zdroje dat můžete indexer vytvořit. Konfigurace indexeru určuje vstupy, parametry a vlastnosti, které řídí chování doby běhu.
Vytvořte nebo aktualizujte indexer tak, že ho pojmenujte a odkazujete na zdroj dat a cílový index:
{
"name" : "hotels-mysql-idxr",
"dataSourceName" : "hotels-mysql-ds",
"targetIndexName" : "hotels-mysql-ix",
"disabled": null,
"schedule": null,
"parameters": {
"batchSize": null,
"maxFailedItems": null,
"maxFailedItemsPerBatch": null,
"base64EncodeKeys": null,
"configuration": { }
},
"fieldMappings" : [ ],
"encryptionKey": null
}
Klíčové body:
Určete mapování polí , pokud existují rozdíly v názvu nebo typu pole nebo pokud potřebujete v indexu vyhledávání více verzí zdrojového pole.
Indexer se spustí automaticky při jeho vytvoření. Zabránit spuštění můžete nastavením
disablednatrue. Pokud chcete řídit provádění indexeru, spusťte indexer na vyžádání nebo ho umístěte do plánu.
Kontrola stavu indexeru
Odeslání žádosti o získání stavu indexeru pro monitorování provádění indexeru:
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-08-01-preview
Content-Type: application/json
api-key: [admin key]
Odpověď zahrnuje stav a počet zpracovaných položek. Měl by vypadat podobně jako v následujícím příkladu:
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
... earlier history items
]
}
Historie provádění obsahuje až 50 naposledy dokončených spuštění, které jsou seřazeny v obráceném chronologickém pořadí tak, aby poslední spuštění bylo první.
Indexování nových a změněných řádků
Jakmile indexer plně naplní vyhledávací index, můžete chtít, aby další spuštění indexeru inkrementálně indexovalo pouze nové a změněné řádky v databázi.
Pokud chcete povolit přírůstkové indexování, nastavte dataChangeDetectionPolicy vlastnost v definici zdroje dat. Tato vlastnost říká indexeru, který mechanismus sledování změn se používá u vašich dat.
U indexerů Azure Database for MySQL je jedinou podporovanou zásadou HighWaterMarkChangeDetectionPolicy.
Zásady detekce změn indexeru spoléhají na to, že má indikátor úrovně změn, který zachycuje verzi řádku nebo datum a čas poslední aktualizace řádku. Často se jedná o sloupec DATE, DATETIME nebo TIMESTAMP s dostatečnou jemností pro splnění požadavků na sloupec s vysokou značkou.
Ve vaší databázi MySQL musí sloupec pro úroveň maximální hladiny splňovat následující požadavky:
- Všechna vložení dat musí určovat hodnotu sloupce.
- Všechny aktualizace položky také změní hodnotu sloupce.
- Hodnota tohoto sloupce se zvyšuje při každém vložení nebo aktualizaci.
- Dotazy s následujícími
WHEREklauzulemi aORDER BYklauzulemi je možné efektivně spouštět:WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]
Následující příklad ukazuje definici zdroje dat se zásadami detekce změn:
{
"name" : "[Data source name]",
"type" : "mysql",
"credentials" : { "connectionString" : "[connection string]" },
"container" : { "name" : "[table or view name]" },
"dataChangeDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName" : "[last_updated column name]"
}
}
Důležité
Pokud používáte zobrazení, musíte ve zdroji dat indexeru nastavit politiku nejvyšší úrovně.
Pokud zdrojová tabulka nemá index ve sloupci s vysokou hladinou, může dojít k vypršení časového limitu dotazů používaných indexerem MySQL. Zejména klauzule ORDER BY [High Water Mark Column] vyžaduje index pro efektivní spuštění, pokud tabulka obsahuje mnoho řádků.
Indexování odstraněných řádků
Když se řádky odstraní z tabulky nebo zobrazení, obvykle je chcete odstranit také z indexu vyhledávání. Pokud jsou však řádky fyzicky odebrány z tabulky, indexer nemá žádný způsob, jak odvodit přítomnost záznamů, které již neexistují. Řešením je použít metodu obnovitelného odstranění k logickému odstranění řádků bez jejich odebrání z tabulky. Přidejte sloupec do tabulky nebo zobrazení a označte řádky jako odstraněné pomocí tohoto sloupce.
Je-li k dispozici sloupec, který určuje stav odstranění, lze indexer nakonfigurovat tak, aby odstranil všechny vyhledávací dokumenty se stavem odstranění nastaveným na true. Vlastnost konfigurace, která toto chování podporuje, je zásada detekce odstranění dat, která je zadaná v definici zdroje dat následujícím způsobem:
{
…,
"dataDeletionDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName" : "[a column name]",
"softDeleteMarkerValue" : "[the value that indicates that a row is deleted]"
}
}
Musí to být řetězec softDeleteMarkerValue. Pokud máte například celočíselnou hodnotu, ve které jsou odstraněné řádky označené hodnotou 1, použijte "1". Pokud máte BIT sloupec, ve kterém jsou odstraněné řádky označené logickou hodnotou true, použijte řetězcový literál True nebo true (případ nezáleží).
Další kroky
Teď můžete spustit indexer, monitorovat stav nebo naplánovat spuštění indexeru. Následující články platí pro indexery, které načítá obsah z Azure MySQL:
- Indexování velkých datových sad
- přístup k obsahu chráněnému funkcemi zabezpečení sítě Azure Indexer