.NET’te GroupDocs Search API ile Dizin Oluşturma

Bu öğreticide, GroupDocs.Search kullanarak .NET uygulamalarınız için dizin oluşturmayı keşfedecek ve ardından hassas içeriği GroupDocs.Redaction ile koruyacaksınız. Kılavuzun sonunda, aranabilir bir dizini oluşturabilecek, güncelleyebilecek ve temizleyebilecek ve arama ile redaksiyonun birleştirilmesinin güvenli belge yönetimi için neden en iyi uygulama olduğunu anlayacaksınız.

Hızlı Yanıtlar

  • “dizin oluşturma” ne anlama geliyor? Belgelerin içeriğini hızlı arama anahtarlarına eşleyen aranabilir bir veri yapısı oluşturmak anlamına gelir.
  • Hangi kütüphaneler gereklidir? .NET için GroupDocs.Search ve GroupDocs.Redaction (NuGet paketleri).
  • PDF, Word ve görüntüleri indeksleyebilir miyim? Evet—150’den fazla format kutudan çıkar çıkmaz desteklenir.
  • Bir belgeyi dizinden nasıl silerim? Belgenin yolu veya kimliği ile Delete metodunu çağırın.
  • Redaksiyon indekslemeden önce mi yoksa sonra mı yapılır? Redaksiyon önce yapılmalıdır, böylece korunan veri asla dizine girmez.

“dizin oluşturma” nedir?

Bu dizin oluşturma ifadesi, hızlı geri getirme için terim‑belge eşlemelerini depolayan aranabilir bir veri yapısı oluşturma sürecine atıfta bulunur. GroupDocs’ta bu yapı diskte bulunur ve tüm koleksiyonu yeniden oluşturmadan artımlı olarak güncellenebilir.

GroupDocs.Search ve GroupDocs.Redaction’ı birlikte neden kullanmalısınız?

GroupDocs.Search, 150+ dosya formatı indekslemeyi destekler ve 10 GB‘den büyük dizinleri işleyebilir; dosyaları tamamen yüklemek yerine akış olarak işlediği için bellek kullanımı 200 MB’nin altında kalır. GroupDocs.Redaction eklemek, gizli metin, görüntü veya meta verilerin içerik dizine ulaşmadan önce kaldırılmasını sağlar ve GDPR, HIPAA ve diğer düzenlemelere uyumu garanti eder.

Önkoşullar

  • Kütüphaneler ve Sürümler – .NET 6 veya üzeriyle uyumlu en son GroupDocs.Search ve GroupDocs.Redaction NuGet paketlerini kurun.
  • IDE – Visual Studio 2022 (veya .NET 6’yı destekleyen herhangi bir IDE).
  • Bilgi – Temel C# becerileri, dosya G/Ç’ye aşinalık ve indeksleme kavramları hakkında anlayış.

.NET için GroupDocs.Redaction Kurulumu

Kurulum

.NET CLI Kullanarak:

dotnet add package GroupDocs.Redaction

Visual Studio’da Paket Yöneticisi Konsolu Kullanarak:

Install-Package GroupDocs.Redaction

Ayrıca NuGet Paket Yöneticisi UI’sinde “GroupDocs.Redaction”ı bulabilir ve en yeni kararlı sürümü kurabilirsiniz.

Lisans Edinimi

Tüm özellikleri sınırsız olarak keşfetmek için ücretsiz deneme alabilir veya geçici bir lisans talep edebilirsiniz. Lisans edinme hakkında daha fazla ayrıntı için GroupDocs’ Purchase Page adresini ziyaret edin.

Temel Başlatma

Redactor, bir belge üzerinde redaksiyon işlemlerini gerçekleştiren temel sınıftır.
Aşağıdaki kod parçacığı, GroupDocs.Redaction’ı kullanmaya başlamak için gereken minimum kodu gösterir:

// Initialize the Redactor with a file path or stream
using (Redactor redactor = new Redactor("input.docx"))
{
    // Your redaction code here
}

Bu basit kurulum, GroupDocs.Redaction’ı kullanmaya başlamak için ihtiyacınız olan tek şeydir.

Uygulama Kılavuzu

Dizin nasıl oluşturulur?

Index, terim sözlüklerini ve belge meta verilerini tutan aranabilir konteyneri temsil eder.
Bir Index nesnesi yükleyin veya oluşturun, dizin dosyalarının saklanacağı bir klasöre işaret edin ve Create metodunu çağırın. İşlem gerekli meta veri dosyalarını yazar ve motoru belge alımına hazırlar.

// Direct answer (40‑70 words):
Create a new `Index` instance by specifying the folder path where the index will reside, then invoke `Create()` to initialise the storage structures. The method writes index headers, term dictionaries, and a lock file, making the folder ready for document addition. This step is required only once per index location.

Adım 1: Dizin Oluşturma

using GroupDocs.Search;

string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/DeleteIndexedPaths";
Index index = new Index(indexFolder);
// This line initializes an index at the provided folder path.

Dizin’e belge ekleme nasıl yapılır?

Add, tek bir belgeyi dizine ekler, AddFolder ise bir dizindeki tüm dosyaları işler.
Dosyaları Add veya AddFolder çağırarak eklersiniz. Motor, desteklenen her dosyayı okur, metni çıkarır ve terim sözlüğünü günceller.

// Direct answer (40‑70 words):
Use `index.AddFolder("C:\\Docs")` or `index.Add("C:\\Docs\\file.pdf")` to feed documents into the index. The API streams each file, extracts searchable text, and stores term‑frequency data without loading the entire file into memory, which lets you index thousands of large PDFs efficiently.

Adım 2: Belge Klasörlerini Ekle

string documentsFolder1 = @"YOUR_DOCUMENT_DIRECTORY";
string documentsFolder2 = @"YOUR_DOCUMENT_DIRECTORY2";

index.Add(documentsFolder1);  // Adding the first folder of documents to the index
index.Add(documentsFolder2);  // Adding the second folder of documents to the index

İndekslenmiş yolları nasıl alırsınız?

GetIndexedPaths, dizinde depolanan tüm belge yollarının bir koleksiyonunu döndürür.
İndekslenmiş dosya yolları listesini alarak hangi belgelerin şu anda aranabilir olduğunu doğrulayabilirsiniz.

// Direct answer (40‑70 words):
Call `index.GetIndexedDocuments()` to obtain a collection of `IndexedDocumentInfo` objects, each containing the original file path, document ID, and indexing timestamp. Loop through the collection and output the `FilePath` property to confirm that every expected file has been successfully added.

Adım 3: İndekslenmiş Yolları Görüntüle

string[] indexedPaths1 = index.GetIndexedPaths();
foreach (string path in indexedPaths1)
{
    Console.WriteLine(path); // Outputs the document paths
}

Dizin’den belgeyi nasıl silersiniz?

Delete, bir belgeyi yoluna veya kimliğine göre dizinden kaldırır.
Bir dosya kaldırıldığında veya artık geçerli olmadığında, arama sonuçlarının doğru kalması için girişini silmelisiniz.

// Direct answer (40‑70 words):
Invoke `index.Delete("C:\\Docs\\obsolete.pdf")` or `index.Delete(documentId)` to purge a specific document from the index. The method removes all term entries linked to that file, updates the term dictionary, and frees the space on disk, ensuring that future queries no longer return the deleted content.

Adım 4: Belirli Yolları Sil

using GroupDocs.Search.Options;

string[] pathsToDelete = { @"YOUR_DOCUMENT_DIRECTORY" };
DeleteResult deleteResult = index.Delete(pathsToDelete, new UpdateOptions());
// This deletes specified document paths from the index.

Silme sonrası kalan indekslenmiş yolları nasıl doğrularsınız?

Kaldırma işleminden sonra, indeksin mevcut durumu yansıtıp yansıtmadığını kontrol etmek için alma metodunu yeniden çalıştırabilirsiniz.

// Direct answer (40‑70 words):
Run `index.GetIndexedDocuments()` again and compare the resulting list with the pre‑deletion list. The missing file path confirms successful deletion, while the remaining entries confirm the index’s integrity. This verification step is especially important in automated pipelines.

Adım 5: Kalan Yolları Doğrula

string[] indexedPaths2 = index.GetIndexedPaths();
foreach (string path in indexedPaths2)
{
    Console.WriteLine(path); // Displays remaining paths after deletion
}

Pratik Uygulamalar

  1. Belge Yönetim Sistemleri – Milyonlarca dosya arasında sözleşmeleri, faturaları veya kılavuzları hızlıca bulun.
  2. Hukuki Belge İncelemesi – İndekslemeden önce ayrıcalıklı bilgileri redakte ederek kazara ifşayı önleyin.
  3. Arşiv Çözümleri – Tüm arşivleri belleğe yüklemeden tarihsel kayıtlar için aranabilir meta verileri koruyun.
  4. İçerik Yönetim Platformları – Bloglar, bilgi tabanları ve multimedya kütüphaneleri için site genelinde arama sağlayın.
  5. Veri Uyumluluk Denetimleri – Yalnızca temizlenmiş içeriğin aranabilir olduğundan emin olun, düzenleyici gereksinimleri karşılayın.

Performans Düşünceleri

  • İndekslemeyi Optimize Et – Artımlı indekslemeyi geceleyin planlayın; I/O dalgalanmalarını azaltmak için AddFolderı 100 dosya batch boyutuyla kullanın.
  • Kaynak Yönetimi – CPU ve RAM’i izleyin; GroupDocs.Search dosyaları akış şeklinde işler, 10 GB dizinlerde bile en yüksek bellek kullanımını 200 MB altında tutar.
  • En İyi Uygulamalar – Saniyenin altında sorgu yanıtı için dizini SSD’lerde saklayın ve disk kullanımını yarıya indirmek için sıkıştırmayı (index.Compression = true) etkinleştirin.

Sıkça Sorulan Sorular

S: GroupDocs ile metin dışı dosyaları indeksleyebilir miyim?
C: Evet, GroupDocs.Search, gerektiğinde OCR ile gömülü metni çıkararak PDF, DOCX, PPTX, XLSX ve görüntü türleri dahil 150’den fazla formatı indeksleyebilir.

S: Büyük miktarda belgeyi nasıl yönetirim?
C: AddFolderı yapılandırılabilir bir batch boyutuyla kullanın, indekslemeyi arka plan hizmetinde çalıştırın ve küçük indeks segmentlerini birleştirmek için periyodik olarak Optimize() çağırın.

S: Redaksiyon ile indekslemeyi birlikte kullanmanın faydaları nelerdir?
C: Redaksiyon, kişisel olarak tanımlanabilir bilgileri indeksin içine girmeden önce kaldırır, böylece arama sonuçları asla korunan verileri ortaya çıkarmaz.

S: Arama algoritmalarını özelleştirmek mümkün mü?
C: GroupDocs.Search, eşanlamlı sözlükler, özel tokenleştiriciler ve düzenli ifade filtreleri sunar, bu da alaka puanlamasını ince ayar yapmanıza olanak tanır.

S: Yaygın indeksleme sorunlarını nasıl gideririm?
C: Klasör izinlerini doğrulayın, .NET çalışma zamanının kütüphanenin hedefiyle eşleştiğinden emin olun ve indeks klasöründe oluşturulan günlük dosyasını ayrıntılı hata mesajları için kontrol edin.

Kaynaklar

Bu kaynakları inceleyerek anlayışınızı derinleştirin ve .NET’te GroupDocs.Search ve Redaction uygulamanızı geliştirin. Kodlamanın tadını çıkarın!


Son Güncelleme: 2026-07-26
Test Edilen Versiyon: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Yazar: GroupDocs

İlgili Öğreticiler