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.
Note
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 Cosmos DB pro MongoDB (Preview) importuje obsah z Azure Cosmos DB pro MongoDB a umožňuje prohledávat v Azure AI Vyhledávač.
Tento článek doplňuje vytvoření indexeru informacemi, které jsou specifické pro Cosmos DB. 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.
Protože terminologie může být matoucí, je vhodné poznamenat, že Azure Cosmos DB indexování a Azure AI Vyhledávač indexování jsou různé operace. Indexování v Azure AI Vyhledávač vytvoří a načte vyhledávací index ve vaší vyhledávací službě.
Požadavky
Vyplňte registrační formulář indexeru ve verzi Preview. Registrace se automaticky schválí.
Účet Azure Cosmos DB, databáze, kolekce a dokumenty. Pro Azure AI Vyhledávač i Azure Cosmos DB použijte stejnou oblast, abyste se vyhnuli nižší latenci a vyhnuli se poplatkům za šířku pásma.
Zásada automatické indexování v kolekci Azure Cosmos DB nastavená na Konsistent. Toto nastavení je výchozí konfigurace. Opožděné indexování se nedoporučuje a může vést k chybějícím datům.
Oprávnění ke čtení Úplný přístup připojovací řetězec obsahuje klíč, který uděluje přístup k obsahu, ale pokud používáte role Azure, ujistěte se, že spravovaná identita služby search má Role čtenáře účtů Cosmos DB.
Klient REST pro vytvoření zdroje dat, indexu a indexeru.
Omezení
Toto jsou omezení této funkce:
Vlastní dotazy nejsou podporovány pro zadání datové sady.
Název sloupce
_tsje vyhrazené slovo. Pokud toto pole potřebujete, zvažte alternativní řešení pro naplnění indexu.Atribut
$refMongoDB je vyhrazené slovo. Pokud to potřebujete v kolekci MongoDB, zvažte alternativní řešení pro naplnění indexu.
Pokud váš scénář splňuje některou z těchto podmínek, můžete jako alternativu k tomuto konektoru použít Push API/SDK nebo zvážit použití Azure Data Factory s indexem Azure AI Vyhledávač jako výstupem.
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ů.
Pro toto volání zadejte verzi rozhraní REST API ve verzi Preview, která vytvoří zdroj dat, který se připojí přes rozhraní MongoDB API. Můžete použít verzi 2020-06-30-preview nebo novější. Doporučujeme nejnovější rozhraní REST API verze Preview.
Vytvořte nebo aktualizujte zdroj dat a nastavte jeho definici:
POST https://[service name].search.windows.net/datasources?api-version=2026-08-01-preview Content-Type: application/json api-key: [Search service admin key] { "name": "[my-cosmosdb-mongodb-ds]", "type": "cosmosdb", "credentials": { "connectionString": "AccountEndpoint=https://[cosmos-account-name].documents.azure.com;AccountKey=[cosmos-account-key];Database=[cosmos-database-name];ApiKind=MongoDb;" }, "container": { "name": "[cosmos-db-collection]" }, "dataChangeDetectionPolicy": { "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", "highWaterMarkColumnName": "_ts" }, "dataDeletionDetectionPolicy": null, "encryptionKey": null, "identity": null }Nastavte "typ" na
"cosmosdb"(povinné).Nastavte přihlašovací údaje na připojovací řetězec. Následující část popisuje podporované formáty.
Definujte "kontejner" jako součástí kolekce. Je vyžadována vlastnost name a určuje ID kolekce databáze, která se má indexovat. U Azure Cosmos DB pro MongoDB se nepodporuje dotaz.
Nastavte dataChangeDetectionPolicy, pokud jsou data nestálá a chcete, aby indexer vyzvedal pouze nové a aktualizované položky v následných spuštěních.
Pokud chcete odebrat vyhledávací dokumenty z indexu vyhledávání při odstranění zdrojové položky, nastavte "dataDeletionDetectionPolicy".
Podporované přihlašovací údaje a připojovací řetězce
Indexery se můžou připojit ke kolekci pomocí následujících připojení. U připojení, která cílí na rozhraní API MongoDB, nezapomeňte do připojovací řetězec zahrnout "ApiKind".
Vyhněte se číslům portů v adrese URL koncového bodu. Pokud zadáte číslo portu, připojení selže.
| Úplný přístupový připojovací řetězec |
|---|
{ "connectionString" : "AccountEndpoint=https://<Cosmos DB account name>.documents.azure.com;AccountKey=<Cosmos DB auth key>;Database=<Cosmos DB database id>;ApiKind=MongoDb" } |
| Ověřovací klíč Cosmos DB na stránce účtu Azure Cosmos DB na portálu Azure můžete získat tak, že v levém podokně vyberete Connection String. Nezapomeňte zkopírovat primární heslo a nahradit hodnotu ověřovacího klíče služby Cosmos DB . |
| Connection string spravované identity |
|---|
{ "connectionString" : "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.DocumentDB/databaseAccounts/<your cosmos db account name>/;(ApiKind=[api-kind];)" } |
| Tento řetězec připojení nevyžaduje klíč účtu, ale musíte mít dříve nakonfigurovanou vyhledávací službu pro připojení pomocí spravované identity a vytvořený úkol role, který uděluje oprávnění Role čtenáře účtu Cosmos DB. Další informace najdete v tématu Nastavení připojení indexeru k databázi Azure Cosmos DB pomocí spravované identity. |
Přidání vyhledávacích polí do indexu
Do indexu vyhledávání přidejte pole pro příjem zdrojových dokumentů JSON nebo výstupu vlastní projekce dotazu. Ujistěte se, že schéma indexu vyhledávání je kompatibilní se zdrojovými daty. Pro obsah v Azure Cosmos DB by schéma indexu vyhledávání mělo odpovídat položkám Azure Cosmos DB ve zdroji dat.
Vytvořte nebo aktualizujte index a definujte vyhledávací pole, která ukládají data:
POST https://[service name].search.windows.net/indexes?api-version=2026-08-01-preview Content-Type: application/json api-key: [Search service admin key] { "name": "mysearchindex", "fields": [{ "name": "doc_id", "type": "Edm.String", "key": true, "retrievable": true, "searchable": false }, { "name": "description", "type": "Edm.String", "filterable": false, "searchable": true, "sortable": false, "facetable": false, "suggestions": true }] }Vytvoření pole klíče dokumentu ("key": true) Pro vyhledávací index založený na kolekci MongoDB může klíč dokumentu být "doc_id", "rid" nebo jiné řetězcové pole, které obsahuje jedinečné hodnoty. Pokud jsou názvy polí a datové typy na obou stranách stejné, nevyžadují se žádná mapování polí.
"doc_id" představuje "_id" pro identifikátor objektu. Pokud v indexu zadáte pole "doc_id", indexer ho naplní hodnotami identifikátoru objektu.
"rid" je systémová vlastnost v Azure Cosmos DB. Pokud v indexu zadáte pole rid, indexer ho naplní hodnotou s kódováním base64 vlastnosti rid.
U jakéhokoli jiného pole by mělo mít vyhledávací pole stejný název jako definovaný v kolekci.
Vytvořte další pole pro prohledávatelnější obsah. Podrobnosti najdete v tématu Vytvoření indexu .
Mapování datových typů
| Datový typ JSON | typy polí Azure AI Vyhledávač |
|---|---|
| Bool | Edm.Boolean, Edm.String |
| Čísla, která vypadají jako celá čísla | Edm.Int32, Edm.Int64, Edm.String |
| Čísla, která vypadají jako čísla s plovoucí desetinnou čárkou | Edm.Double, Edm.String |
| Řetězec | Edm.String |
| Pole primitivních typů, jako je ["a", "b", "c"] | Collection(Edm.String) |
| Řetězce, které vypadají jako kalendářní data | Edm.DateTimeOffset, Edm.String |
| Objekty GeoJSON, například { "type": "Point", "coordinates": [long, lat] } | Edm.GeographyPoint |
| Další objekty JSON | N/A |
Konfigurace a spuštění indexeru Azure Cosmos DB pro MongoDB
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:
POST https://[service name].search.windows.net/indexers?api-version=2026-08-01-preview Content-Type: application/json api-key: [search service admin key] { "name" : "[my-cosmosdb-indexer]", "dataSourceName" : "[my-cosmosdb-mongodb-ds]", "targetIndexName" : "[my-search-index]", "disabled": null, "schedule": null, "parameters": { "batchSize": null, "maxFailedItems": 0, "maxFailedItemsPerBatch": 0, "base64EncodeKeys": false, "configuration": {} }, "fieldMappings": [], "encryptionKey": null }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.
Další informace o dalších vlastnostech najdete v tématu Vytvoření indexeru .
Indexer se spustí automaticky při jeho vytvoření. Můžete tomu zabránit nastavením "zakázáno" na hodnotu true. 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
Pokud chcete monitorovat stav indexeru a historii spuštění, odešlete žádost o získání stavu 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":"2022-02-21T00:23:24.957Z",
"endTime":"2022-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2022-02-21T00:23:24.957Z",
"endTime":"2022-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 dokumentů
Jakmile indexer plně naplní vyhledávací index, můžete chtít, aby následující indexer běžel postupně indexovat pouze nové a změněné dokumenty v databázi.
Chcete-li povolit přírůstkové indexování, nastavte vlastnost dataChangeDetectionPolicy v definici zdroje dat. Tato vlastnost říká indexeru, který mechanismus sledování změn se používá u vašich dat.
U indexerů Azure Cosmos DB je jedinou podporovanou zásadou HighWaterMarkChangeDetectionPolicy pomocí vlastnosti _ts (časové razítko), kterou poskytuje Azure Cosmos DB.
Následující příklad ukazuje definici zdroje dat se zásadami detekce změn:
"dataChangeDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "_ts"
},
Indexování odstraněných dokumentů
Když se řádky z kolekce odstraní, obvykle je chcete odstranit také z indexu vyhledávání. Účelem zásad detekce odstranění dat je efektivní identifikace odstraněných datových položek. V současné době je jedinou podporovanou zásadou Soft Delete (odstranění je označeno určitým příznakem), která je specifikována v definici zdroje dat následovně:
"dataDeletionDetectionPolicy": {
"@odata.type" : "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName" : "the property that specifies whether a document was deleted",
"softDeleteMarkerValue" : "the value that identifies a document as deleted"
}
Pokud používáte vlastní dotaz, ujistěte se, že je vlastnost odkazovaná softDeleteColumnName dotazem promítnuta.
Následující příklad vytvoří zdroj dat se zásadou měkkého smazání:
POST https://[service name].search.windows.net/datasources?api-version=2026-08-01-preview
Content-Type: application/json
api-key: [Search service admin key]
{
"name": "my-cosmosdb-mongodb-ds",
"type": "cosmosdb",
"credentials": {
"connectionString": "AccountEndpoint=https://[cosmos-account-name].documents.azure.com;AccountKey=[cosmos-account-key];Database=[cosmos-database-name];ApiKind=MongoDb"
},
"container": { "name": "[my-cosmos-collection]" },
"dataChangeDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "_ts"
},
"dataDeletionDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName": "isDeleted",
"softDeleteMarkerValue": "true"
}
}
Další kroky
Teď můžete řídit, jak běží indexer, monitorovat stav a plánovat provádění indexeru. Následující články platí pro indexery, které načítá obsah z Azure Cosmos DB:
- Nastavte připojení indexeru k databázi Azure Cosmos DB pomocí spravované identity
- Indexování velkých datových sad
- přístup k obsahu chráněnému funkcemi zabezpečení sítě Azure Indexer