Implementasi Kompresi Tinggi .NET dengan GroupDocs: Panduan Teks & Redaksi
Dalam solusi .NET modern, implement high compression .net sangat penting ketika Anda perlu menyimpan koleksi teks yang sangat besar tanpa meningkatkan penggunaan disk secara berlebihan. Pada saat yang sama, melindungi informasi sensitif—seperti pengenal pribadi atau angka keuangan—memerlukan redaksi yang dapat diandalkan. Tutorial ini menunjukkan, langkah demi langkah, cara mengonfigurasi penyimpanan teks dengan kompresi tinggi menggunakan GroupDocs.Search dan cara menghapus data rahasia secara aman menggunakan GroupDocs.Redaction. Pada akhir tutorial, Anda akan dapat mengompresi teks terindeks hingga 90 % dan menghapus konten pribadi dari PDF, file Word, dan banyak format lainnya.
Jawaban Cepat
- Perpustakaan apa yang menyediakan pengindeksan kompresi tinggi? GroupDocs.Search for .NET.
- Alat apa yang melakukan redaksi data sensitif? GroupDocs.Redaction for .NET.
- Bisakah saya menambahkan dokumen ke indeks secara otomatis? Yes—use the
AddDocumentAPI inside a folder‑scan loop. - Apakah kompresi tidak mengurangi kualitas untuk pencarian? Yes, the text remains fully searchable after compression.
- Apakah saya memerlukan lisensi untuk produksi? A permanent GroupDocs license is required for commercial use.
Apa itu “implement high compression .net”?
Implement high compression .net berarti mengonfigurasi mesin pengindeksan GroupDocs.Search untuk menyimpan konten teks yang diekstrak dalam bentuk terkompresi. Ini mengurangi ukuran indeks di disk secara dramatis sambil menjaga teks tetap dapat dicari sepenuhnya. Kompresi ini tidak mengurangi kualitas, sehingga relevansi kueri dan ekstraksi cuplikan berfungsi persis seperti pada indeks yang tidak terkompresi.
Mengapa menggunakan GroupDocs untuk kompresi dan redaksi?
GroupDocs.Search mendukung lebih dari lima puluh format input dan dapat mengompresi teks terindeks hingga sembilan puluh persen, memungkinkan koleksi dokumen besar hanya menempati sebagian kecil dari ukuran aslinya. GroupDocs.Redaction melengkapi ini dengan menghapus atau menyamarkan informasi sensitif secara permanen pada lebih dari tiga puluh jenis file, membantu Anda memenuhi regulasi kepatuhan ketat seperti GDPR dan HIPAA tanpa alat tambahan.
Prasyarat
- Lingkungan pengembangan: Visual Studio 2022 atau lebih baru, .NET 6+ (atau .NET Framework 4.7.2).
- Pustaka:
GroupDocs.SearchandGroupDocs.RedactionNuGet packages. - Izin: Read/write access to the folders that contain source documents and the index output location.
- Pengetahuan dasar: C# syntax, file I/O, and familiarity with .NET project structure.
Cara mengimplementasikan kompresi tinggi .NET dengan GroupDocs?
Untuk mengimplementasikan kompresi tinggi .NET dengan GroupDocs, pertama buat instance TextStorageSettings dan atur CompressionLevel‑nya ke High. Kemudian buat objek Index, melewatkan pengaturan dan folder tempat indeks akan disimpan. Setelah indeks siap, tambahkan dokumen menggunakan AddDocument, dan akhirnya jalankan pencarian dengan metode Search, semua sementara mesin secara transparan menangani kompresi dan dekompresi.
Langkah 1: Instal paket NuGet yang diperlukan
.NET CLI
dotnet add package GroupDocs.Search
dotnet add package GroupDocs.Redaction
Package Manager
Install-Package GroupDocs.Search
Install-Package GroupDocs.Redaction
NuGet Package Manager UI
- Cari “GroupDocs.Search” dan klik Install.
Langkah 2: Instal GroupDocs.Redaction (untuk redaksi data)
- Buka NuGet Package Manager.
- Cari GroupDocs.Redaction dan instal versi stabil terbaru.
Langkah 3: Dapatkan dan terapkan lisensi
- Free trial: Daftar di portal GroupDocs untuk mendapatkan kunci percobaan 30‑hari.
- Temporary license: Minta kunci sementara untuk lingkungan pengembangan.
- Permanent license: Beli lisensi produksi untuk menghapus batasan evaluasi.
Langkah 4: Inisialisasi dasar kedua pustaka
Mesin Search dan Redaction berbagi model lisensi yang sama. Inisialisasi keduanya saat aplikasi dimulai:
// Initialize GroupDocs.Search
var searchLicense = new License();
searchLicense.SetLicense("path/to/search.lic");
// Initialize GroupDocs.Redaction
var redactionLicense = new License();
redactionLicense.SetLicense("path/to/redaction.lic");
using GroupDocs.Redaction;
// Initialize the Redactor with your document path
Redactor redactor = new Redactor("YOUR_DOCUMENT_PATH");
Fitur 1: Pengaturan Penyimpanan Teks Kompresi Tinggi
Menyiapkan Konfigurasi Pengindeksan
TextStorageSettings adalah kelas yang memberi tahu GroupDocs.Search cara menyimpan teks yang diekstrak. Mengaktifkan kompresi tinggi mengurangi ukuran indeks hingga 10× tanpa memengaruhi kecepatan pencarian.
var textStorage = new TextStorageSettings
{
Compression = CompressionLevel.High, // Enables maximum compression
UseMemoryCache = false // Reduces RAM usage for huge indexes
};
using GroupDocs.Search;
using GroupDocs.Search.Options;
// Creating an index settings instance
dIndexSettings settings = new IndexSettings();
settings.TextStorageSettings = new TextStorageSettings(Compression.High);
Penjelasan:
CompressionLevel.Highmengaktifkan algoritma berbasis ZSTD yang mengompresi blok teks secara efisien.UseMemoryCache = falsememaksa mesin untuk men‑stream data dari disk, yang ideal untuk penyebaran skala besar.
Membuat dan Mengelola Indeks
Objek Index mewakili repositori yang dapat dicari di disk. Anda menentukan folder tempat file indeks akan disimpan dan melewatkan pengaturan kompresi yang telah didefinisikan di atas.
var indexFolder = @"C:\Indexes\HighCompression";
var settings = new IndexSettings { TextStorage = textStorage };
var index = new Index(indexFolder, settings);
string indexFolder = "/path/to/your/index/directory";
Index index = new Index(indexFolder, settings);
Penjelasan:
indexFoldermenentukan di mana file indeks terkompresi berada.settingsmenyuntikkan konfigurasi kompresi tinggi, memastikan setiap dokumen yang ditambahkan mendapat manfaat darinya.
Fitur 2: Menambahkan Dokumen ke Indeks
Tambahkan Dokumen ke Indeks Anda
AddDocument menambahkan satu file ke indeks, mengekstrak teksnya, mengompresinya sesuai pengaturan yang dikonfigurasi, dan menyimpan hasilnya. GroupDocs.Search dapat mengimpor file dari struktur direktori. Loop berikut melintasi documentsFolder, menambahkan setiap file, dan mencatat kemajuan.
var documentsFolder = @"C:\SourceDocs";
foreach (var filePath in Directory.GetFiles(documentsFolder, "*.*", SearchOption.AllDirectories))
{
index.AddDocument(filePath);
}
string documentsFolder = "/path/to/your/documents";
index.Add(documentsFolder);
Penjelasan:
AddDocumentmem‑parsing file, mengekstrak teks yang dapat dicari, mengompresinya sesuaiTextStorageSettings, dan menyimpannya di indeks.- Pendekatan ini bekerja untuk PDF, DOCX, TXT, HTML, dan lebih dari 30 format lainnya.
Fitur 3: Menjalankan Kuery Pencarian
Lakukan Pencarian
Search menjalankan kueri terhadap indeks terkompresi dan mengembalikan koleksi objek DocumentResult yang cocok dengan skor relevansi dan cuplikan yang disorot. Setelah indeks terisi, Anda dapat menjalankan kueri cepat. Metode Search mengembalikan koleksi objek DocumentResult yang mencakup jalur file dan cuplikan yang disorot.
var query = "confidential";
var results = index.Search(query);
foreach (var result in results)
{
Console.WriteLine($"{result.FilePath} – Score: {result.Score}");
}
string query = "searchTerm";
SearchResult result = index.Search(query);
Penjelasan:
- Mesin pencari memindai teks terkompresi secara langsung, sehingga latensi kueri tetap rendah bahkan untuk indeks yang berisi jutaan halaman.
Scoremenunjukkan relevansi; nilai yang lebih tinggi berarti kecocokan yang lebih baik.
Cara meredaksi data rahasia dengan GroupDocs.Redaction?
Meredaksi data rahasia dengan GroupDocs.Redaction dimulai dengan membuat instance Redactor untuk file target. Definisikan satu atau lebih objek SearchPattern yang menggambarkan teks yang akan dihapus, seperti ekspresi reguler untuk nomor jaminan sosial. Terapkan setiap pola menggunakan Redact, menentukan RedactionType seperti BlackOut, dan simpan hasilnya sebagai dokumen baru, memastikan yang asli tetap tidak tersentuh.
Redactor adalah kelas utama dalam GroupDocs.Redaction yang digunakan untuk memuat dokumen dan melakukan operasi redaksi.SearchPattern mendefinisikan ekspresi reguler yang mengidentifikasi teks yang akan diredaksi.
var redactor = new Redactor(@"C:\Docs\Sensitive.pdf");
redactor.Apply(new RedactionOptions
{
SearchPattern = @"\b\d{3}-\d{2}-\d{4}\b", // SSN pattern
RedactionColor = Color.Black,
RedactionType = RedactionType.BlackOut
});
redactor.Save(@"C:\Docs\Sensitive_redacted.pdf");
using GroupDocs.Search;
using GroupDocs.Search.Options;
// Creating an index settings instance
dIndexSettings settings = new IndexSettings();
settings.TextStorageSettings = new TextStorageSettings(Compression.High);
Penjelasan:
SearchPatternmenggunakan ekspresi reguler untuk menemukan nomor jaminan sosial.RedactionType.BlackOutmenggantikan teks yang cocok dengan persegi hitam solid, memastikan data tidak dapat dipulihkan.
Aplikasi Praktis
- Manajemen Dokumen Hukum: Secara otomatis mengompresi file kasus yang sangat besar dan meredaksi pengidentifikasi klien sebelum diarsipkan.
- Catatan Kesehatan: Simpan bertahun‑tahun catatan pasien dalam indeks terkompresi dan hapus PHI (Informasi Kesehatan yang Dilindungi) sebelum dibagikan dengan mitra riset.
- Pelaporan Keuangan: Amankan laporan kuartalan dengan meredaksi nomor akun sambil mempertahankan teks yang dapat dicari untuk kueri audit.
Pertimbangan Kinerja
- Dampak Kompresi: Kompresi tinggi mengurangi ukuran indeks hingga 90 %, yang mengurangi keausan SSD dan mempercepat operasi pencadangan.
- Penggunaan Memori: Nonaktifkan caching dalam memori untuk indeks yang sangat besar agar jejak proses tetap di bawah 500 MB.
- Optimasi I/O: Tambahkan dokumen secara batch dalam kelompok berisi 100 untuk meminimalkan beban disk.
- Pemrosesan Async: Bungkus pemanggilan
AddDocumentdalamTask.Rununtuk menjaga responsivitas thread UI pada aplikasi desktop.
Kesulitan Umum & Pemecahan Masalah
- Path file tidak tepat: Pastikan
documentsFolderdanindexFoldermerupakan path absolut dan aplikasi memiliki izin baca/tulis. - Kesalahan lisensi: Pastikan file
.licditempatkan bersama executable atau di‑embed sebagai sumber daya. - Pencarian tidak menghasilkan hasil: Periksa bahwa level kompresi
TextStorageSettingssesuai dengan yang digunakan saat pengindeksan; ketidaksesuaian pengaturan dapat menyebabkan kegagalan deserialisasi.
Pertanyaan yang Sering Diajukan
Q: Bisakah saya menambahkan dokumen ke indeks setelah pembuatan awal?
A: Ya—cukup panggil index.AddDocument untuk file baru; mesin memperbarui indeks terkompresi secara inkremental.
Q: Apakah redaksi mengubah file asli?
A: Tidak—file asli tetap tidak tersentuh; versi yang diredaksi disimpan sebagai file baru, menjaga integritas dokumen.
Q: Format apa yang didukung oleh GroupDocs.Redaction?
A: Lebih dari 30 format, termasuk PDF, DOCX, PPTX, XLSX, gambar (PNG, JPEG), dan teks biasa.
Q: Bagaimana kompresi tinggi memengaruhi relevansi pencarian?
A: Tidak memengaruhi. Kompresi bersifat loss‑less untuk teks, sehingga skor relevansi identik dengan indeks yang tidak terkompresi.
Q: Apakah ada batas ukuran dokumen yang dapat saya indeks?
A: GroupDocs.Search dapat menangani file multi‑gigabyte dengan streaming konten; namun, pastikan ruang disk yang cukup untuk indeks terkompresi (sekitar 10 % dari ukuran asli).
Sumber Daya
- Dokumentasi
- Referensi API
- Unduh GroupDocs.Redaction untuk .NET
- Forum Dukungan Gratis
- Akuisisi Lisensi Sementara
Terakhir Diperbarui: 2026-06-07
Diuji Dengan: GroupDocs.Search 23.12 and GroupDocs.Redaction 23.12 for .NET
Penulis: GroupDocs