Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.
Bu makalede, REST API'lerini veya Azure SDK'larını kullanarak Azure Yapay Zeka Arama'te arama dizininden tüm belgelerin nasıl silineceği açıklanmaktadır. Bu, şu görevleri kapsar:
- El ile silmenin ne zaman gerekli olduğunu anlama
- Silinecek belirli belgeleri tanımlama
- Belge sayılarını ve depolama ölçümlerini alma
- Tek veya yalnız bırakılmış bir belgeyi silme
- Belgeleri toplu olarak silme
- Silmeyi onayla
Tip
Hızlı bir tek belge silme işlemi için Tek bir belgeyi silme bölümüne atlayın.
Önkoşullar
Azure Yapay Zeka Arama hizmeti (herhangi bir katman). Bir hizmet oluşturun veya var olan bir hizmeti bulun.
Silinecek belgeler içeren mevcut bir arama dizini. Bu makalede zaten bir dizin oluşturduğunuz ve belgeleri yüklediğiniz varsayılır.
Belgeleri silme izinleri:
- Anahtar tabanlı kimlik doğrulaması: Arama hizmetiniz için bir yönetici API anahtarı .
-
Rol tabanlı kimlik doğrulaması: Dizin Verisi Katkıda Bulunucu rolü veya
Microsoft.Search/searchServices/indexes/documents/deleteizni gerektirir.
SDK geliştirme için Azure Search istemci kitaplığını yükleyin:
- Python: azure-search-documents
- .NET: Azure. Search.Documents
- JavaScript: @azure/search-documents
- Java: azure-search-documents
El ile silmenin ne zaman gerekli olduğunu anlama
Uygulama kodunun veri içeri aktarmayı ve dizin oluşturmayı üstlendiği gönderme modu yaklaşımını kullandığınızda, el ile belge silme gereklidir.
Ayrıca , dizini yüklemek için Logic Apps kullanıyorsanız el ile belge silme işlemi yapmanız gerekir.
Ayrıca, arama belgeleri kaynak belgelerden "yalnız bırakılmış" hale gelirse dizin oluşturucu temelli iş yüklerinde el ile belge silmeniz gerekebilir. Dizin oluşturucuların önemli avantajlarından biri, hedef veri kaynağının değişiklik ve silme algılama özellikleri aracılığıyla otomatik içerik alma ve eşitlemedir. Desteklenen tüm veri kaynakları bir tür algılama düzeyi sağlar. Ancak bazı durumlarda, eşitlenmiş silme işlemi, bir kaynak belgeyi (veya kaydı) silinmek üzere işaretlediğiniz, dizin oluşturucuyu çalıştırarak dizinlenmiş içeriği sildiğiniz ve yalnızca dizin güncelleştirildikten sonra kaynak içeriği fiziksel olarak sildiğiniz geçici silme stratejisine göre sıralanır. Kaynak içerik önce silinirse, arama dizininde yalnız bırakılmış belgeleriniz olur. Kaynak ve dizine alınan içerik arasında eşliği yeniden oluşturmak için dizininizdeki yalnız bırakılmış belgeleri el ile silmeniz gerekir.
Aşağıdaki bağlantılar, dizin oluşturucu temelli iş yüklerindeki her veri kaynağı için değişiklik ve silme algılama hakkında daha fazla bilgi sağlar.
- Azure Depolama
- Azure SQL
- Azure Cosmos DB
- MySQL için Azure Veritabanı (önizleme)
- SharePoint dizin oluşturucu (önizleme)
- OneLake dizin oluşturucu
Silinmek üzere belirli belgeleri tanımlama
Tüm belgeler, arama dizinindeki bir belge anahtarı tarafından benzersiz olarak tanımlanır. Belgeyi silmek için, hangi alanın belge anahtarı olduğunu belirlemeniz ve silme isteğinde anahtarı sağlamanız gerekir.
Azure portalında her dizinin alanlarını görüntüleyebilirsiniz. Belge anahtarları dize alanlarıdır ve daha kolay fark etmelerini sağlamak için bir anahtar simgesiyle gösterilir.
Belge anahtarını bulma
Belge anahtarının hangi alan olduğunu bildiğinizde, arama sonuçlarında anahtar alanını döndüren bir sorgu çalıştırarak anahtar değerini alabilirsiniz.
Bu örnekte, arama dizesi belgeyi dizinde bulmak için kullanılır ve select deyimi sonuçlarda hangi alanların olduğunu belirler. "HotelId" bu örnekteki belge anahtarıdır.
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
}
Bu anahtar sözcük aramasının sonuçları varsayılan olarak ilk 50'dir. Silmek istediğiniz belge arama ölçütlerini karşılarsa, sonuçlarda belgeyi (ve anahtarı) görmeniz gerekir. Sorgunun doğru belgeye sahip olduğunuzu onaylamanıza yardımcı olacak açıklayıcı bir alan içerdiğinden emin olun.
{
"@odata.count": 50,
"value": [
{
"@search.score": 4.5116634,
"HotelId": "18",
"HotelName": "Ocean Water Resort & Spa"
}
...
]
}
Basit bir dize basittir, ancak dizinde base-64 kodlanmış bir alan kullanılıyorsa veya bir parsingMode ayardan arama belgeleri oluşturulduysa, aşina olmadığınız değerlerle çalışıyor olabilirsiniz. Dizin oluşturucu tarafından oluşturulan öbeklenmiş belgelerle çalışıyorsanız, belge anahtarı genellikle uzun bir sayı ve harf dizilerinden oluşan oluşturulmuş bir "chunked_id" olur.
Belirli bir belgeyi arama
Artık belge anahtarınız olduğuna göre, belgenin tamamını alan bir arama sorgusu çalıştırın. Belge bir parça ise, ana belgenin kimliğini görebilmelisiniz. Belge anahtarı sorgu parametresi olarak eklenir.
İlk örnek, belge anahtarı değerine 18sahip olan oteli döndürür.
GET https://[service name].search.windows.net/indexes/hotels-sample/docs('18')?api-version=2026-04-01
İkinci örnek bir öbek belgesi döndürür. "chunk_id" belge anahtarıdır.
GET https://[service name].search.windows.net/indexes/chunking-example-index/docs('aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb')?api-version=2026-04-01
İkinci örnekteki yanıt tüm alanları içerir ve neleri sildiğinizden emin olmak için gözden geçirmeniz gerekir. Ebeveyn bilgilerini içeren alanlar, tek bir ebeveyn belgesini arama dizininde, manuel olarak parçalara ayrılmış belgelere yeniden dizinlemeniz gerektiğinde kullanışlıdır.
{
"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> ]
}
Tip
Arama sorgusu çalıştırmak için REST istemcisi, Azure SDK istemci kitaplığı veya komut satırı aracı kullanın. Azure portalı sorgu için GET isteklerini desteklemez.
Belge sayılarını ve depolama ölçümlerini alma
Belgeleri silmeden önce, daha sonra silme işlemini onaylayabileceğiniz dizin belgesi sayısı ve depolama alanı için ilk ölçümleri alın.
Belge sayılarını ve dizin depolama alanını şu şekilde alabilirsiniz:
- Azure portalı, Arama yönetimi>Dizinler altında.
- Dizinler - İstatistikleri Al REST API'si
Örnek bir yanıt aşağıda verilmişti:
{
"documentCount": 12,
"storageSize": 123456,
"vectorIndexSize": 123456
}
Tek bir belgeyi silme
Belgeler - Dizin REST API'sini bir silme
@search.actionişlemiyle kullanarak arama dizininden kaldırın.Dizin adını ve uç noktayı belirten bir POST çağrısı formüle edin
docs/index.İsteğin gövdesinde silmek istediğiniz belgenin anahtarının bulunduğundan emin olun.
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" } ] }İsteği gönderin.
Aşağıdaki tabloda, yanıtta döndürülebilecek çeşitli belge başına durum kodları açıklanmaktadır. Bazı durum kodları isteğin kendisiyle ilgili sorunları, diğerleri ise geçici hata koşullarını belirtir. İkincisi, bir gecikmeden sonra yeniden denemeniz gerekir.
Durum kodu Meaning Yeniden denenebilir Notes 200 Belge başarıyla silindi. Yok Silme işlemleri idemopotenttir. Başka bir ifadeyle, dizinde bir belge anahtarı olmasa bile, bu anahtarla silme işlemi denenmesi 200 durum koduyla sonuçlanır. 400 Belgede silinmesini engelleyen bir hata oluştu. Hayı Yanıttaki hata iletisi ayrıntıları sağlar. 422 Dizin, 'allowIndexDowntime' seçeneği 'true' olarak ayarlanarak güncellendiği için geçici olarak kullanılamıyor. Yes Indeksin kullanılabilir olmasını bekleyin. 503 Arama hizmetiniz, büyük olasılıkla ağır yük nedeniyle geçici olarak kullanılamıyor. Yes Kodunuzun yeniden denemeden önce beklemesi gerekir, yoksa hizmetin kullanım dışı durumunun uzaması riskiyle karşılaşırsınız. Uyarı
İstemci kodunuz sık sık bir 207 yanıtıyla karşılaşırsa, olası nedenlerden biri sistemin yük altında olmasıdır. 503 özelliğini kontrol ederek
statusCodeifadesini onaylayabilirsiniz. Bu durumda dizin oluşturma isteklerini azaltmanızı öneririz. Aksi takdirde, indeksleme trafiği azalmazsa, sistem 503 hatası vererek tüm istekleri reddetmeye başlayabilir.Silme işlemini onaylamak için Arama sorgusunu yeniden gönderebilirsiniz. 404 belgesi bulunamadı iletisini almanız gerekir.
GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/18?api-version=2026-04-01
Başvuru:Belgeler - Dizin
Başarılı bir silme isteği HTTP 200 (Tamam) döndürür. Yanıt gövdesi her belgenin durumunu içerir:
{
"value": [
{ "key": "18", "status": true, "statusCode": 200 }
]
}
Belgeleri toplu olarak silme
Belgeler - Dizin REST API'sini bir silme
@search.actionişlemiyle kullanarak arama dizininden kaldırın. Dizin adını ve uç noktayı belirten bir POST çağrısı formüle edindocs/index.İsteğin gövdesinde silmek istediğiniz tüm belgelerin anahtarlarının bulunduğundan emin olun.
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" } ] }
Toplu iş sınırları: En iyi performansı sağlamak için toplu işlemlerin istek başına 1.000 belgeyle veya kabaca 16 MB ile sınırlandırılması önerilir.
Idempotency: Silme işlemi idempotenttir; Var olmayan bir belge kimliğini silmeye çalışırsanız, API yine de 200 OK durumu döndürür.
Gecikme süresi: Belgeler her zaman depolama alanından hemen kaldırılmaz. Arka plan işlemi, fiziksel silme işlemini birkaç dakikada bir gerçekleştirir.
Vektör depolama: Belgelerin silinmesi vektör depolama kotalarını hemen boşaltmaz. Fiziksel silme işlemi birkaç dakika sürer. Vektör alanının hemen geri kazanılmasını sağlamak için dizini bırakmanız ve yeniden oluşturmanız gerekebilir.
Başvuru:Belgeler - Dizin
Belge silmeyi doğrulama
Belgeleri sildikten sonra silme işleminin başarılı olduğunu doğrulayın.
- Azure portalında arama hizmetine Genel Bakış sayfasını açın.
- Arama yönetimi>Dizinlerini seçin.
- Dizininizin Belge sayısı sütununu denetleyin.
- Sayı değişmediyse birkaç dakika bekleyin ve yenileyin (silme işlemi zaman uyumsuzdur).
Belgenin silinmesi dizinde hemen yer açmaz. Birkaç dakikada bir, fiziksel silme işlemini arka plan işlemi gerçekleştirir. Dizin istatistiklerini döndürmek için Azure portalını veya İstatistikLeri Al API'sini kullandığınızda, silme işleminin Azure portalına ve API ölçümlerine yansıtılmadan önce kısa bir gecikme bekleyebilirsiniz.
Belge silme sorunlarını giderme
Aşağıdaki tabloda, belgeleri silerken karşılaşılan yaygın sorunlar ve bunların nasıl çözüleceğinin listesi yer alır.
| Sorun | Nedeni | Çözüm |
|---|---|---|
| Belge sayısı değişmedi | Silme işlemi zaman uyumsuzdur. Arka plan işlemi birkaç dakikada bir çalışır. | 2-3 dakika bekleyin ve yenileyin. Dizin istatistiklerini yeniden denetleyin. |
| 400 Hatalı İstek | Geçersiz belge anahtarı veya hatalı biçimlendirilmiş istek gövdesi. | Belge anahtarı alan adının dizin şemanızla eşleştiğinden emin olun. JSON sözdizimini kontrol edin. |
| 403 Yasak | Yetersiz izinler. | Bir yönetici API anahtarı kullanın veya kimliğinizin Arama Dizini Verileri Katkıda Bulunanı rolüne sahip olduğundan emin olun. |
| Dizinde 404 Bulunamadı | Dizin ismi yanlış veya mevcut değil. | İstek URL'nizdeki dizin adını doğrulayın. |
| Depolama alanı geri kazanılmadı | Arka planda zaman uyumsuz biçimde fiziksel silme gerçekleşir. | Birkaç dakika bekleyin. Vektör depolamayı hemen geri kazanmak için dizini bırakın ve yeniden oluşturun. |
| Yalnız bırakılmış belgeler kalır | Dizin oluşturucu silme algılama ile çalıştırılmadan önce kaynak belgeler silindi. | Yalnız bırakılmış belgeleri, belge anahtarlarını kullanarak el ile silin. |