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.
Tento článek vysvětluje, jak odstranit celé dokumenty z indexu vyhledávání ve službě Azure AI Vyhledávač pomocí rozhraní REST API nebo sad AZURE SDK. Zabývá se těmito úkoly:
- Vysvětlení, kdy je vyžadováno ruční odstranění
- Identifikace konkrétních dokumentů k odstranění
- Získání počtu dokumentů a metrik o úložišti
- Odstranění jednotlivého nebo osiřelého dokumentu
- Hromadné odstranění dokumentů
- Potvrdit odstranění
Návod
Pokud chcete rychle odstranit jeden dokument, přeskočte na Odstranit jeden dokument.
Požadavky
Služba Azure AI Vyhledávač (libovolná úroveň). Vytvořte službu nebo vyhledejte existující službu.
Existující index vyhledávání s dokumenty, které chcete odstranit. Tento článek předpokládá, že jste už vytvořili index a načetli dokumenty.
Oprávnění k odstranění dokumentů:
- Ověřování na základě klíčů: Klíč rozhraní API správce pro vaši vyhledávací službu.
-
Ověřování na základě role: Role Přispěvatel dat pro index vyhledávání
Microsoft.Search/searchServices/indexes/documents/deletenebo oprávnění.
Pro vývoj sady SDK nainstalujte klientskou knihovnu Služby Azure Search:
- Python: azure-search-documents
- .NET: Azure. Search.Documents
- JavaScript: @azure/search-documents
- Java: azure-search-documents
Vysvětlení, kdy je vyžadováno ruční odstranění
Ruční odstranění dokumentu je nezbytné, když použijete přístup k indexování v režimu nabízení, kde kód aplikace zpracovává import dat a řídí indexování.
Pokud k načtení indexu používáte Logic Apps, potřebujete také ruční odstranění dokumentu.
Pokud se vyhledávací dokumenty stanou oddělenými od zdrojových dokumentů, můžete také potřebovat ručně odstranit dokumenty v úlohách, které jsou řízeny indexerem. Důležitou výhodou indexerů je automatizované načítání a synchronizace obsahu prostřednictvím funkcí detekce změn a odstranění cílového zdroje dat. Všechny podporované zdroje dat poskytují určitou úroveň detekce. V některých případech je ale synchronizované odstranění založené na strategii měkkého odstranění, kdy označíte zdrojový dokument (nebo záznam) pro odstranění, spustíte indexer, aby odstranil indexovaný obsah, a teprve po aktualizaci indexu fyzicky odstraníte zdrojový obsah. Pokud se zdrojový obsah odstraní nejprve, máte v indexu vyhledávání osamocené dokumenty . Chcete-li znovu vytvořit paritu mezi zdrojovým a indexovaným obsahem, musíte ručně odstranit osamocené dokumenty v indexu.
Následující odkazy obsahují další informace o detekci změn a odstranění jednotlivých zdrojů dat v úlohách řízených indexerem.
- Azure Storage
- Azure SQL
- Azure Cosmos DB
- Azure Database for MySQL (Preview)
- Indexer SharePointu (přehled)
- OneLake Indexer
Identifikace konkrétních dokumentů pro odstranění
Všechny dokumenty jsou jednoznačně identifikovány klíčem dokumentu v indexu vyhledávání. Pokud chcete odstranit dokument, musíte určit, které pole je klíčem dokumentu, a zadat klíč v žádosti o odstranění.
Na webu Azure Portal můžete zobrazit pole jednotlivých indexů. Klíče dokumentu jsou řetězcová pole a označují se ikonou klíče, aby se snadněji zobrazovaly.
Vyhledání klíče dokumentu
Jakmile víte, které pole je klíčem dokumentu, můžete získat hodnotu klíče spuštěním dotazu, který vrátí pole klíče ve výsledcích hledání.
V tomto příkladu se vyhledávací řetězec používá k vyhledání dokumentu v indexu a příkaz select určuje, která pole jsou ve výsledcích. V tomto příkladu je klíčem dokumentu "HotelId".
POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-04-01
{
"search": "this query has terms that pertain to the document I want to delete",
"select": "HotelName, HotelId",
"count": true
}
Výsledky pro toto hledání klíčových slov jsou ve výchozím nastavení omezeny na prvních 50. Pokud dokument, který chcete odstranit, splňuje kritéria hledání, měli byste ho ve výsledcích vidět (a jeho klíč). Ujistěte se, že dotaz obsahuje popisné pole, které vám pomůže potvrdit, že máte správný dokument.
{
"@odata.count": 50,
"value": [
{
"@search.score": 4.5116634,
"HotelId": "18",
"HotelName": "Ocean Water Resort & Spa"
}
...
]
}
Jednoduchý řetězec je jednoduchý, ale pokud index používá pole s kódováním base-64 nebo pokud byly z nastavení vygenerovány parsingMode vyhledávací dokumenty, můžete pracovat s hodnotami, které neznáte. Pracujete-li se segmentovanými dokumenty vytvořenými indexerem, klíč dokumentu je často vygenerovaný "chunked_id" složený z dlouhé posloupnosti číslic a písmen.
Vyhledání konkrétního dokumentu
Teď, když máte klíč dokumentu, spusťte vyhledávací dotaz , který načte celý dokument. Pokud je dokument blokem dat, měli byste vidět ID nadřazeného dokumentu. Klíč dokumentu je součástí parametru dotazu.
První příklad vrátí hotel s hodnotou klíče dokumentu 18.
GET https://[service name].search.windows.net/indexes/hotels-sample/docs('18')?api-version=2026-04-01
Druhý příklad vrátí segmentový dokument. Klíč dokumentu je chunk_id.
GET https://[service name].search.windows.net/indexes/chunking-example-index/docs('aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb')?api-version=2026-04-01
Odpověď z druhého příkladu obsahuje všechna pole, která byste měli zkontrolovat, abyste měli jistotu, že víte, co odstraňujete. Pole obsahující informace o rodiči jsou užitečná, pokud potřebujete ručně přeindexovat jeden nadřazený dokument do složek dílčích dokumentů v rámci indexu vyhledávání.
{
"chunk_id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"parent_id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"chunk": "Unpopulated Slopes of an Active Volcano\u2014Naples, Italy ... 90\n\nDazzling Coastlines\u2014Italy ... .92\n\nLiving on Fertile Land\u2014Nile River, Egypt ... 94\n\n\n\n vii",
"title": "earth_at_night_508.pdf",
"text_vector": [ <omitted> ]
}
Návod
Ke spuštění vyhledávacího dotazu použijte klienta REST, klientskou knihovnu sady Azure SDK nebo nástroj příkazového řádku . Azure Portal nepodporuje požadavky GET na dotaz.
Získání počtu dokumentů a metrik o úložišti
Než odstraníte dokumenty, získejte počáteční metriky pro počet a úložiště dokumentů indexu, abyste mohli později potvrdit odstranění.
Počet dokumentů a úložiště indexů můžete získat pomocí:
- Na webu Azure Portal v částiIndexy> vyhledávání.
- Indexy – získání statistik rozhraní REST API
Tady je příklad odpovědi:
{
"documentCount": 12,
"storageSize": 123456,
"vectorIndexSize": 123456
}
Odstranění jednoho dokumentu
Použijte Documents - Index REST API s příkazem delete
@search.action, abyste jej odstranili z indexu vyhledávání.Formulujte volání POST určující název indexu
docs/indexa koncový bod.Ujistěte se, že text požadavku obsahuje klíč dokumentu, který chcete odstranit.
POST https://[service name].search.windows.net/indexes/hotels-sample/docs/index?api-version=2026-04-01 Content-Type: application/json api-key: [admin key] { "value": [ { "@search.action": "delete", "id": "18" } ] }Odešlete požadavek.
Následující tabulka vysvětluje různé stavové kódy jednotlivých dokumentů, které lze vrátit v odpovědi. Některé stavové kódy označují problémy se samotným požadavkem, zatímco jiné označují dočasné chybové stavy. Druhý pokus byste měli opakovat po zpoždění.
Stavový kód Meaning Opakovatelné Poznámky 200 Dokument byl úspěšně odstraněn. není k dispozici Operace odstranění jsou idempotentní. To znamená, že i když klíč dokumentu v indexu neexistuje, při pokusu o operaci odstranění s tímto klíčem vznikne stavový kód 200. 400 V dokumentu došlo k chybě, která znemožňovala odstranění dokumentu. Ne Chybová zpráva v odpovědi obsahuje podrobnosti. 422 Index je dočasně nedostupný, protože se v něm aktualizoval příznak allowIndexDowntime nastavený na hodnotu true. Ano Počkejte, až bude index k dispozici. 503 Vaše vyhledávací služba je dočasně nedostupná, pravděpodobně kvůli vysokému zatížení. Ano V takovém případě by váš kód měl před opakováním počkat, jinak riskujete prodloužení nedostupnosti služby. Poznámka:
Pokud váš klientský kód často narazí na odpověď 207, je jedním z možných důvodů, proč je systém zatížený. Můžete to potvrdit tak, že zkontrolujete
statusCodevlastnost 503. Pokud ano, doporučujeme omezit požadavky na indexování. Jestliže indexovací provoz neklesne, může systém začít odmítat všechny požadavky se stavovou chybou 503.Odstranění můžete potvrdit opětovným odesláním vyhledávacího dotazu . Měla by se zobrazit zpráva o tom, že dokument 404 nebyl nalezen.
GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/18?api-version=2026-04-01
Reference:Documents – index
Úspěšný požadavek na odstranění vrátí http 200 (OK). Text odpovědi obsahuje stav pro každý dokument:
{
"value": [
{ "key": "18", "status": true, "statusCode": 200 }
]
}
Hromadné odstranění dokumentů
Použijte Documents - Index REST API s příkazem delete
@search.action, abyste jej odstranili z indexu vyhledávání. Formulujte volání POST určující název indexudocs/indexa koncový bod.Ujistěte se, že text požadavku obsahuje klíče všech dokumentů, které chcete odstranit.
POST https://[service name].search.windows.net/indexes/hotels-sample/docs/index?api-version=2026-04-01 Content-Type: application/json api-key: [admin key] { "value": [ { "@search.action": "delete", "id": "doc1" }, { "@search.action": "delete", "id": "doc2" } ] }
Limity skupin: Doporučujeme omezit skupiny na 1 000 dokumentů nebo přibližně 16 MB na požadavek, aby se zajistil optimální výkon.
Idempotency: Odstranění je idempotentní; Pokud se pokusíte odstranit ID dokumentu, které neexistuje, rozhraní API stále vrátí stav 200 OK.
Latence: Dokumenty se neodeberou vždy okamžitě z úložiště. Proces na pozadí provede fyzické odstranění každých několik minut.
Vektorové úložiště: Odstranění dokumentů okamžitě nevyvolá kvóty vektorového úložiště. Fyzické odstranění trvá několik minut. K okamžitému relamaci vektorového prostoru možná budete muset index vypustit a znovu sestavit.
Reference:Documents – index
Ověření odstranění dokumentu
Po odstranění dokumentů ověřte, že odstranění proběhlo úspěšně.
- Na webu Azure Portal otevřete stránku Přehled vyhledávací služby.
- Vyberte Správu vyhledávání>Indexy.
- Zkontrolujte sloupec Počet dokumentů pro váš index.
- Počkejte několik minut a aktualizujte, pokud se počet nezměnil (odstranění je asynchronní).
Odstranění dokumentu okamžitě nevybíná místo v indexu. Proces na pozadí provede fyzické odstranění každých několik minut. Bez ohledu na to, jestli k vrácení statistik indexu použijete Azure Portal nebo rozhraní GET Statistics API, můžete očekávat malé zpoždění před tím, než se odstranění projeví na webu Azure Portal a metrikách rozhraní API.
Řešení potíží s odstraněním dokumentu
Následující tabulka uvádí běžné problémy při odstraňování dokumentů a jejich řešení.
| Problém | Příčina | Řešení |
|---|---|---|
| Počet dokumentů beze změny | Odstranění je asynchronní. Proces na pozadí se spouští každých několik minut. | Počkejte 2 až 3 minuty a aktualizujte. Znovu zkontrolujte statistiky indexu. |
| 400 – Chybný požadavek | Neplatný klíč dokumentu nebo poškozený text požadavku | Ověřte, že název pole klíče dokumentu odpovídá schématu indexu. Zkontrolujte syntaxi JSON. |
| 403 Zakázáno | Nedostatečná oprávnění. | Použijte klíč rozhraní API pro správu nebo se ujistěte, že vaše identita má roli Přispěvatel dat indexu vyhledávání. |
| 404 Nenalezena v indexu | Název indexu je nesprávný nebo neexistuje. | Ověřte název indexu v adrese URL požadavku. |
| Neuvolněno úložiště | Fyzické odstranění probíhá asynchronně na pozadí. | Počkejte několik minut. Pro okamžitou relamaci vektorového úložiště odstraňte a znovu sestavte index. |
| Osamocené dokumenty zůstávají | Zdrojové dokumenty se odstranily před spuštěním indexeru s detekcí odstranění. | Ručně odstraňte sirotčí dokumenty pomocí jejich dokumentových klíčů. |