Pencarian teks lengkap adalah cara untuk mencari teks/permintaan dalam kumpulan dokumen. Pendekatan ini dengan cepat menemukan semua contoh istilah/frasa dan bekerja dengan menggunakan indeks teks. Pada artikel ini, kita akan mempelajari cara mencari teks lengkap secara terprogram dalam dokumen menggunakan Java.

Pencarian Teks Lengkap

Setelah itu, Anda dapat menerapkan berbagai teknik pencarian dan membuat solusi pencarian untuk dokumen pengolah kata, spreadsheet, presentasi, file HTML, file PDF, eBuku, pesan email, arsip ZIP, dan banyak [format dokumen] lainnya1.

Topik-topik berikut dibahas di bawah ini:

Java API untuk Pencarian Teks Lengkap

GroupDocs.Search menyediakan pencarian teks lengkap Java API yang dapat diintegrasikan ke dalam aplikasi apa pun tanpa alat pihak ketiga dan ketergantungan perangkat lunak. Ini memungkinkan Anda untuk mencari daftar besar format dokumen. Beberapa teknik pencarian yang dapat dilakukan dengan menggunakan API adalah sebagai berikut:

  • Pencarian Peka Huruf Besar
  • Pencarian Ekspresi Reguler
  • Pencarian Segi
  • Pencarian Fuzzy
  • Pencarian Homofon
  • Pencarian Sinonim

Unduh atau Konfigurasi

Anda dapat mengunduh file JAR dari bagian unduhan, atau dapatkan repositori terbaru dan konfigurasi dependensi untuk pom.xml aplikasi Java berbasis maven Anda.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>21.3</version> 
</dependency>

Ada dua langkah untuk melakukan pencarian di dalam file yang disimpan dalam folder.

  • Pengindeksan
  • Lakukan Pencarian

Indeks file menggunakan Java

Indeks memiliki teks yang dipindai dari semua dokumen. Oleh karena itu, ketika Anda akan melakukan operasi pencarian, hanya indeks yang direferensikan, bukan teks dari dokumen aslinya. Untuk memungkinkan pencarian langsung di ribuan dokumen dengan format file yang sama atau berbeda, Anda perlu membuat indeks dan menambahkan dokumen ini ke dalamnya. Saat dokumen diindeks, indeks siap menangani permintaan pencarian.

Dua baris sederhana berikut membuat indeks dan juga menambahkan folder dokumen ke indeks.

Index index = new Index("indexingFolderPath");
index.add("documentsFolderPath");

Setelah mengindeks beberapa dokumen dengan format yang sama atau berbeda seperti (Word, PDF, Excel, dan HTML), kita dapat melanjutkan untuk memproses kueri penelusuran tertentu (istilah penelusuran “Draw”) di atasnya. Berikut adalah langkah-langkah cara melakukan pencarian teks pada beberapa dokumen dalam satu folder menggunakan Java:

  • Tentukan folder sumber dokumen dan folder indeks.
  • Buat Indeks menggunakan folder indeks.
  • Tambahkan folder sumber ke index.
  • Siapkan string kueri.
  • Lakukan pencarian menggunakan metode search dari kelas Index.
  • Traverse setiap hasil pencarian untuk properti dari setiap dokumen.

Kode sumber berikut melakukan pencarian teks di Java pada semua dokumen dari folder yang disediakan.

// Cari teks yang ditentukan dalam beberapa dokumen PDF, Word, Excel, HTML dengan folder menggunakan Java
Index index = new Index("path/indexingFolder");
index.add("path/documentsFolderPath");

// Mencari dalam indeks untuk teks tertentu
SearchResult result = index.search("Draw");

for (int i = 0; i < result.getDocumentCount(); i++) {
    FoundDocument document = result.getFoundDocument(i);
    System.out.println("Document Path: " + document.getDocumentInfo().getFilePath());
    System.out.println("Occurrence : " + document.getOccurrenceCount());
}

Kami akan mendapatkan jalur dokumen dan jumlah kemunculan istilah pencarian di semua dokumen dengan folder yang ditentukan. Berikut screenshot untuk visualisasi.

Keluaran Teks Penelusuran Penuh

Sorot Hasil Pencarian Teks di Java

Sekarang mari lakukan pencarian teks lengkap yang sama dan juga sorot semua kemunculan yang cocok dengan kueri Anda.

Langkah-langkah berikut menunjukkan cara menyorot hasil pencarian teks:

  • Buat Indeksdan tambahkan folder dokumen ke indeks.
  • Siapkan string kueri.
  • Cari folder dokumen menggunakan metode search.
  • Saat menelusuri hasil, buat penyorot menggunakan HtmlHighlighter.
  • Gunakan metode highlight untuk menyorot hasil pencarian.

Kode berikut menghasilkan output HTML dengan hasil pencarian yang disorot menggunakan Java.

// Sorot hasil pencarian teks lengkap dari banyak dokumen dalam folder di Java
Index index = new Index("path/indexingFolder");
index.add("path/documentsFolderPath"); // Synchronous indexing documents from the specified folder

String query = "draw"; // Specify a search query
SearchResult result = index.search(query); // Searching in the index

for (int i = 0; i < result.getDocumentCount(); i++) 
{
    FoundDocument document = result.getFoundDocument(i);

    String path = "path/Highlighted-"+ i +".html";
    OutputAdapter outputAdapter = new FileOutputAdapter(path); 
    HtmlHighlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the highlighter
    index.highlight(document, highlighter); // Generates HTML formatted output document with highlighted search results
}

Sebagai output, kita akan mendapatkan banyak file HTML. Setiap file akan menampilkan konten dokumen terpisah (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, file TXT, dan file PDF yang diperoleh dengan menggunakan kode di atas.

Sorot hasil pencarian teks lengkap dalam konten menggunakan Java

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, kita telah belajar untuk mencari teks dalam beberapa dokumen folder di Java. Selanjutnya, kami membahas cara menyorot teks hasil pencarian secara terprogram dalam format HTML untuk file MS Word, file TXT, dan file PDF menggunakan GroupDocs.Search for Java.

Anda dapat mempelajari lebih lanjut tentang API menggunakan dokumentasi. Banyak lagi contoh tersedia di GitHub. Untuk pertanyaan, hubungi kami melalui forum.

Lihat juga