Dokumentumok törlése keresési indexben

Megjegyzés:

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Ez a cikk bemutatja, hogyan törölhet teljes dokumentumokat az Azure AI Keresés keresési indexéből REST API-k vagy Azure SDK-k használatával. A következő feladatokra terjed ki:

  • Annak ismertetése, hogy mikor van szükség manuális törlésre
  • A törölni kívánt dokumentumok azonosítása
  • Dokumentumszám és tárolási metrikák lekérése
  • Egyetlen vagy árva dokumentum törlése
  • Dokumentumok tömeges törlése
  • Törlés megerősítése

Jótanács

Egy dokumentum gyors törléséhez lépjen az egy dokumentum törléséhez.

Előfeltételek

Annak ismertetése, hogy mikor van szükség manuális törlésre

Manuális dokumentumtörlésre akkor van szükség, ha leküldéses módot használ az indexeléshez, ahol az alkalmazáskód kezeli az adatimportálást és az indexelést.

Manuális dokumentumtörlésre is szükség van, ha a Logic Apps használatával tölt be egy indexet.

Az indexelőalapú számítási feladatokban manuális dokumentumtörlésre is szükség lehet, ha a keresési dokumentumok "árva" lesznek a forrásdokumentumokból. Az indexelők fontos előnye a tartalom automatikus lekérése és szinkronizálása a céladatforrás változás- és törlésészlelési funkcióival. Az összes támogatott adatforrás valamilyen szintű észlelést biztosít. Bizonyos esetekben azonban a szinkronizált törlés egy helyreállítható törlési stratégiára van felállítva, amelyben megjelöl egy forrásdokumentumot (vagy rekordot) a törléshez, futtatja az indexelőt az indexelt tartalom törléséhez, és csak az index frissítése után törli fizikailag a forrástartalmat. Ha a forrástartalmat először törlik, a keresési indexben árva dokumentumok vannak . Manuálisan törölnie kell az árva fájlokat az indexben a forrás és az indexelt tartalom közötti paritás újbóli létrehozásához.

Az alábbi hivatkozások további információt nyújtanak az indexelőalapú számítási feladatokban lévő egyes adatforrások változás- és törlésészleléséről.

Meghatározott törlési dokumentumok azonosítása

Minden dokumentumot egyedileg azonosít egy keresési index dokumentumkulcsa . Dokumentum törléséhez meg kell határoznia, hogy melyik mező a dokumentumkulcs, és meg kell adnia a kulcsot a törlési kérelemben.

Az Azure Portalon megtekintheti az egyes indexek mezőit. A dokumentumkulcsok sztringmezők, és kulcsikonnal vannak jelölve, hogy könnyebben észrevehetők legyenek.

A dokumentumkulcs megkeresése

Ha már tudja, hogy melyik mező a dokumentumkulcs, lekérheti a kulcs értékét egy olyan lekérdezés futtatásával, amely visszaadja a kulcsmezőt a keresési eredmények között.

Ebben a példában a keresési sztringgel megkeresheti a dokumentumot az indexben, és a kiválasztási utasítás határozza meg, hogy mely mezők szerepelnek az eredményekben. Ebben a példában a "HotelId" a dokumentumkulcs.

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
}

A kulcsszókeresés eredménye alapértelmezés szerint az 50 legjobb. Ha a törölni kívánt dokumentum megfelel a keresési feltételeknek, akkor annak meg kell, hogy jelenjen az eredmények között, és annak kulcsa is. Győződjön meg arról, hogy a lekérdezés tartalmaz egy leíró mezőt, amely segít meggyőződni arról, hogy a megfelelő dokumentumot tartalmazza.

{
  "@odata.count": 50,
  "value": [
    {
      "@search.score": 4.5116634,
      "HotelId": "18",
      "HotelName": "Ocean Water Resort & Spa"
    }
   ...
  ]
}

Az egyszerű karakterláncok egyértelműek, de ha az index egy base-64 kódolású mezőt használ, vagy ha keresési dokumentumokat hoztak létre egy parsingMode beállításból, előfordulhat, hogy olyan értékekkel dolgozik, amelyekkel nem feltétlenül van tisztában. Ha egy indexelő által létrehozott, darabolt dokumentumokkal dolgozik, a dokumentumkulcs gyakran generált "chunked_id", amely számokból és betűkből álló hosszú sorozatból áll.

Adott dokumentum keresése

Most, hogy megvan a dokumentumkulcs, futtasson egy keresési lekérdezést , amely lekéri a teljes dokumentumot. Ha a dokumentum egy részlet, akkor látnia kell a szülődokumentum azonosítóját. A dokumentumkulcs lekérdezési paraméterként szerepel.

Az első példa azt a szállodát adja vissza, amelynek dokumentumkulcs értéke 18.

GET https://[service name].search.windows.net/indexes/hotels-sample/docs('18')?api-version=2026-04-01

A második példa egy adattömb-dokumentumot ad vissza. A "chunk_id" a dokumentumkulcs.

GET https://[service name].search.windows.net/indexes/chunking-example-index/docs('aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb')?api-version=2026-04-01

A második példa válasza az összes mezőt tartalmazza, amelyeket érdemes áttekinteni, hogy biztosan tudja, mit töröl. A szülőinformációkat tartalmazó mezők akkor hasznosak, ha manuálisan kell újraindexelnie egy szülődokumentumot a keresési indexben lévő, tagolt dokumentumokba.

{
  "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> ]
}

Jótanács

Keresési lekérdezés futtatásához HASZNÁLJON REST-ügyfelet, Azure SDK-ügyfélkódtárat vagy parancssori eszközt . Az Azure Portal nem támogatja a lekérdezés GET-kéréseit.

Dokumentumszám és tárolási metrikák lekérése

A dokumentumok törlése előtt kérje le az indexdokumentumok számának és tárterületének kezdeti metrikáit, hogy később megerősíthesse a törlést.

A dokumentumszámokat és az indextárolókat a következőkkel szerezheti be:

Íme egy példa válasz:

{
  "documentCount": 12,
  "storageSize": 123456,
  "vectorIndexSize": 123456
}

Egyetlen dokumentum törlése

  1. A(z) Dokumentumok – Index REST API-t használja a @search.action törléshez, hogy eltávolítsa azt a keresési indexből.

  2. Alakítson ki egy POST-hívást, amely megadja az index nevét és a végpontot docs/index .

  3. Győződjön meg arról, hogy a kérés törzse tartalmazza a törölni kívánt dokumentum kulcsát.

    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"  
        }  
      ]  
    }
    
  4. Küldje el a kérést.

    Az alábbi táblázat a válaszban visszaadható dokumentumonkénti állapotkódokat ismerteti. Egyes állapotkódok a kéréssel kapcsolatos problémákat, míg mások átmeneti hibafeltételeket jeleznek. Az utóbbit egy késleltetés után újra meg kell próbálkoznia.

    Állapotkód Meaning Újrapróbálható Jegyzetek
    200 A dokumentumot sikeresen törölték. nincs adat A törlési műveletek idempotensek. Vagyis még ha egy dokumentumkulcs nem is létezik az indexben, a törlési művelet megkísérlése ezzel a kulccsal 200-as állapotkódot eredményez.
    400 Hiba történt a dokumentumban, amely megakadályozta a törlést. Nem A válaszban megjelenő hibaüzenet részleteket tartalmaz.
    422 Az index átmenetileg nem érhető el, mert „true” (igaz) értékű allowIndexDowntime jelölővel lett frissítve. Igen Várja meg, amíg az index elérhetővé válik.
    503 A keresési szolgáltatás átmenetileg nem érhető el, valószínűleg nagy terhelés miatt. Igen Ebben az esetben a kódnak várnia kell az újrapróbálkozás előtt, különben fennáll a veszélye, hogy a szolgáltatás továbbra sem lesz elérhető.

    Megjegyzés:

    Ha az ügyfélkód gyakran találkozik egy 207-ben megadott válaszsal, az egyik lehetséges ok az, hogy a rendszer terhelés alatt van. Az 503 statusCode tulajdonságának ellenőrzésével ezt megerősítheti. Ha igen, javasoljuk az indexelési kérelmek szabályozását. Ellenkező esetben, ha a forgalom indexelése nem csökken, a rendszer 503 hibával elkezdheti elutasítani az összes kérést.

  5. A keresési lekérdezést újraküldheti a törlés megerősítéséhez. A "404 - dokumentum nem található" hibaüzenetet kell kapnia.

    GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/18?api-version=2026-04-01
    

Referencia:Dokumentumok – Index

A sikeres törlési kérelem HTTP 200 (OK) értéket ad vissza. A válasz törzse az egyes dokumentumok állapotát tartalmazza:

{
    "value": [
        { "key": "18", "status": true, "statusCode": 200 }
    ]
}

Dokumentumok tömeges törlése

  1. A(z) Dokumentumok – Index REST API-t használja a @search.action törléshez, hogy eltávolítsa azt a keresési indexből. Alakítson ki egy POST-hívást, amely megadja az index nevét és a végpontot docs/index .

  2. Győződjön meg arról, hogy a kérés törzse tartalmazza a törölni kívánt összes dokumentum kulcsát.

    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"
        }
      ]
    }
    
  • Kötegkorlátok: Az optimális teljesítmény biztosítása érdekében ajánlott a kötegeket 1000 dokumentumra vagy kérésenként körülbelül 16 MB-ra korlátozni.

  • Idempotencia: A törlés idempotens; Ha olyan dokumentumazonosítót próbál törölni, amely nem létezik, az API továbbra is 200 OK állapotot ad vissza.

  • Késés: A dokumentumok nem mindig lesznek azonnal eltávolítva a tárolóból. A háttérfolyamat néhány percenként végrehajtja a fizikai törlést.

  • Vektoros tárolás: A dokumentumok törlése nem szabadít fel azonnal vektoros tárolási kvótákat. A fizikai törlés több percet vesz igénybe. A vektortér azonnali visszaállításához előfordulhat, hogy el kell távolítania és újra kell építenie az indexet.

Referencia:Dokumentumok – Index

Dokumentum törlésének ellenőrzése

A dokumentumok törlése után ellenőrizze, hogy a törlés sikeres volt-e.

  1. Az Azure Portalon nyissa meg a keresési szolgáltatás áttekintési oldalát.
  2. Válassza Kereséskezelés>Indexeklehetőséget.
  3. Ellenőrizze az index Dokumentumszám oszlopát.
  4. Várjon néhány percet, és frissítsen, ha a szám nem változott (a törlés aszinkron).

A dokumentumok törlése nem szabadít fel azonnal helyet az indexben. Néhány percenként egy háttérfolyamat végrehajtja a fizikai törlést. Függetlenül attól, hogy az Azure Portalt vagy a Statisztikai adatok lekérése API-t használja-e az indexstatisztikák visszaadásához, kis késésre számíthat, mielőtt a törlés megjelenik az Azure Portalon és az API-metrikákban.

Dokumentumtörlés hibaelhárítása

Az alábbi táblázat a dokumentumok törlésekor és megoldásuk során előforduló gyakori problémákat sorolja fel.

Probléma Oka Rezolúció
Dokumentumszám változatlan A törlés aszinkron módon történik. A háttérfolyamat néhány percenként fut. Várjon 2-3 percet, és frissítsen. Ellenőrizze újra az indexstatisztikákat.
400 Hibás kérés Érvénytelen dokumentumkulcs vagy hibásan formázott kérelemtörzs. Ellenőrizze, hogy a dokumentumkulcs mezőneve megegyezik-e az indexsémával. Ellenőrizze a JSON szintaxist.
403 – Hozzáférés megtagadva Nem megfelelő engedélyek. Használjon rendszergazdai API-kulcsot, vagy győződjön meg arról, hogy az identitás keresési index adatszolgáltatói szerepkört használ.
404 Nem található az indexben Az index neve helytelen vagy nem létezik. Ellenőrizze az index nevét a kérelem URL-címében.
A tárterület nem igényelhető vissza A fizikai törlés aszinkron módon történik a háttérben. Várjon néhány percet. Az azonnali vektoros tárolás helyreállításához ejtse le és építse újra az indexet.
Árva dokumentumok maradnak Az indexelő törlések észlelése előtt törölték a forrásdokumentumokat. Az árva dokumentumokat manuálisan töröljük a dokumentumkulcsaik segítségével.

Lásd még