Sebelum kita membahas detailnya, mari kita ikhtisar teknik pencarian teks lengkap. Pencarian teks lengkap pada dasarnya adalah cara yang lebih canggih untuk mencari teks/permintaan pada kumpulan dokumen. Pendekatan ini dengan cepat menemukan semua contoh istilah dan bekerja dengan menggunakan indeks teks. Pada artikel ini, kita akan belajar, cara mencari teks lengkap secara terprogram dalam dokumen menggunakan C#.
Setelah itu, Anda dapat menerapkan berbagai teknik pencarian untuk mencari teks dalam dokumen pengolah kata, spreadsheet, presentasi, file HTML, eBuku PDF, pesan email, arsip ZIP, dan banyak file lainnya.
Salah satu contoh penerapan pencarian teks lengkap ada di pengolah kata dan editor teks. Ini membantu Anda menemukan frasa atau kata di mana saja dalam dokumen.
Topik-topik berikut dibahas di bawah ini:
- .NET API untuk Pencarian Teks Lengkap
- Pencarian Teks Lengkap
- Lakukan Pencarian di C#
- Sorot Hasil Pencarian
.NET API untuk Pencarian Teks
GroupDocs.Search for .NET adalah API pencarian back-end yang memungkinkan pencarian teks lengkap dan dapat diintegrasikan ke dalam aplikasi .NET apa pun tanpa ketergantungan alat atau perangkat lunak pihak ketiga. Ini memungkinkan Anda untuk mencari banyak format dokumen di aplikasi Anda.
Anda dapat mengunduh penginstal DLL atau MSI dari bagian unduhan atau menginstal API di aplikasi .NET Anda melalui NuGet.
PM> Install-Package GroupDocs.Search
Pencarian Teks Lengkap menggunakan C#
Ada dua langkah utama untuk melakukan atau menerapkan pencarian teks lengkap.
- Pengindeksan
- Lakukan Pencarian
Pengindeksan
Untuk memungkinkan pencarian langsung di ribuan dokumen dengan format file yang sama atau berbeda, Anda perlu membuat indeks dan menambahkan dokumen ini ke dalamnya.
Apa itu indeks?
Indeks memiliki teks yang dipindai dari semua dokumen. Oleh karena itu, ketika Anda akan melakukan operasi pencarian (mencari kueri tertentu), hanya indeks yang direferensikan, bukan teks dari dokumen aslinya.
Pembuatan indeks
Indeks dapat dibuat di memori atau di disk. Indeks yang dibuat di memori tidak dapat disimpan setelah keluar dari program Anda. Sebaliknya, indeks yang dibuat pada disk dapat dimuat di masa mendatang untuk terus bekerja. Contoh berikut menunjukkan cara membuat indeks pada disk.
Index index = new Index("indexPath/FolderName/");
Saat dokumen diindeks, indeks siap menangani permintaan pencarian. Berikut adalah beberapa teknik pencarian yang dapat dilakukan dengan menggunakan GroupDocs.Search for .NET:
- Pencarian Peka Huruf Besar
- Pencarian Ekspresi Reguler
- Pencarian Frasa
- Pencarian Segi
- Pencarian Sinonim
- Pencarian Wildcard
Lakukan Pencarian di C#
Dimulai dengan kasus penggunaan. Jika kami memiliki banyak dokumen (Word, PDF, Excel, dan HTML) dan kami ingin melakukan kueri penelusuran khusus (istilah penelusuran “video”) di atasnya.
Berikut adalah langkah-langkah cara melakukan pencarian teks pada banyak dokumen di dalam folder:
- Tentukan folder dokumen sumber dan folder indeks.
- Siapkan string kueri.
- Buat Indeks menggunakan folder indeks.
- Tambahkan folder dokumen sumber ke index.
- Lakukan pencarian menggunakan kelas metode Search Index.
- Lintasi dan cari hasil untuk setiap properti dokumen.
Kode sumber berikut melakukan pencarian teks menggunakan C# pada semua dokumen dari folder yang disediakan.
// Cari Teks Kueri di semua dokumen dari folder yang disediakan di C#
string indexFolder = @"indexPath/GroupDocs/index/";
string documentsFolder = @"documentPath/GroupDocs/source/";
string query = "video";
// Membuat indeks di folder yang ditentukan dan menambahkan folder dokumen ke Indeks
Index index = new Index(indexFolder);
index.Add(documentsFolder);
// Mencari di index
SearchResult result = index.Search(query);
Console.WriteLine("Documents found: " + result.DocumentCount);
// Telusuri setiap dokumen Hasil Penelusuran
foreach (FoundDocument document in result)
{
Console.WriteLine("Document Path : " + document.DocumentInfo.FilePath);
Console.WriteLine("Occurance : " + document.OccurrenceCount);
}
Kami akan mendapatkan jalur dokumen dan jumlah kemunculan istilah pencarian di semua dokumen yang tersedia di folder dokumen. Berikut screenshot untuk divisualisasikan.
Sorot Hasil Pencarian Teks di C#
Sekarang mari kita lakukan pencarian teks yang sama, tetapi kali ini kita akan menyorot semua kemunculan yang cocok dengan kueri.
Langkah-langkah berikut menunjukkan cara menyorot hasil pencarian teks:
- Siapkan string kueri.
- Buat Indeks menggunakan jalur folder indeks.
- Tambahkan folder dokumen sumber ke index.
- Cari folder dokumen menggunakan metode Search.
- Saat menelusuri hasil pencarian, buat Penyorot.
- Gunakan metode Highlight dari kelas Index untuk menyorot hasil pencarian.
Kode berikut menghasilkan keluaran HTML dengan hasil pencarian yang disorot menggunakan C#.
string indexFolder = @"indexPath/GroupDocs/index/";
string documentFolder = @"documentPath/GroupDocs/source/";
string query = "draw";
// Buat indeks di folder yang ditentukan dan tambahkan folder dokumen ke Indeks
Index index = new Index(indexFolder);
index.Add(documentFolder);
// Cari kata permintaan
SearchResult result = index.Search(query);
// Sorot semua kemunculan dalam teks
for (int i = 0; i < result.DocumentCount; i++)
{
FoundDocument document = result.GetFoundDocument(i);
string path = indexFolder + "Highlighted-"+ i +".html";
OutputAdapter outputAdapter = new FileOutputAdapter(path);
Highlighter highlighter = new HtmlHighlighter(outputAdapter);
index.Highlight(document, highlighter);
}
Sebagai output, kita akan mendapatkan banyak file HTML. Setiap file akan menampilkan konten dari dokumen yang berbeda (misalnya excel.xlsx, source.docx, target.docx) dengan istilah/kata pencarian yang disorot. Diberikan di bawah ini adalah keluaran HTML yang disorot dari file DOCX.
Dapatkan Lisensi API Gratis
Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.
Kesimpulan
Pada artikel ini, kami telah belajar mencari teks di dalam banyak dokumen folder menggunakan C#. Selanjutnya, kami membahas cara menyorot teks hasil pencarian secara terprogram dalam format HTML.
Anda dapat mempelajari lebih lanjut tentang API menggunakan dokumentasi. Banyak lagi contoh tersedia di GitHub. Untuk pertanyaan, hubungi kami melalui forum.