Cari Homofon di File menggunakan GroupDocs

Sinonim adalah kata-kata dengan arti yang mirip, dan Homofon terdengar sama tetapi berbeda dalam arti atau ejaan. Kami belajar untuk menemukan sinonim dalam banyak dokumen menggunakan Java. Hari ini, dalam artikel ini, kita akan melihat cara mencari homofon dalam banyak dokumen menggunakan Java.

Topik-topik berikut akan dibahas di bawah ini:

API Java untuk Mencari Homofon

GroupDocs.Search menampilkan Java API GroupDocs.Search for Java yang memungkinkan menemukan kata apa pun dan homofonnya di dalam beberapa file dari folder tertentu. Itu dapat mencari konten berbagai format berbeda. Selain menemukan homofon, API mendukung banyak teknik pencarian lainnya yang meliputi:

  • Pencarian Peka Huruf Besar
  • Pencarian Fuzzy
  • Pencarian Frasa
  • Pencarian Ekspresi Reguler
  • Pencarian Sinonim
  • Pencarian Kartu Liar

Anda dapat mengunduh file JAR dari bagian unduhan atau menggunakan repositori terbaru dan konfigurasi Maven ketergantungan dalam aplikasi Java 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.8</version> 
</dependency>
PM> Install-Package GroupDocs.Search

Temukan Homofon di Banyak File di Java

Langkah-langkah berikut memandu cara mencari homofon di banyak file folder di Java.

  • Tentukan kueri kata pencarian, folder pengindeksan, dan folder penampung file Anda.
  • Buat Indeks dengan folder indeks yang ditentukan.
  • Tambahkan folder dokumen ke indeks.
  • Tentukan SearchOptions dan aktifkan homophoneSearch menggunakan metode setUseHomophoneSearch.
  • Lakukan pencarian homofon menggunakan metode pencarian.
  • Gunakan properti SearchResult yang diambil sesuai kebutuhan.

Kode sumber Java berikut menemukan semua homofon di dalam file folder yang ditentukan. Selanjutnya, Anda juga dapat mengelola kamus homofon Anda.

// Cari homofon dalam banyak file dan folder menggunakan Java
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// Membuat indeks di folder yang ditentukan
Index index = new Index(indexFolder);
index.add(documentsFolder);

// Membuat objek opsi pencarian
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// Cari kata 'benar'
// Selain kata 'benar', homofon 'ritus, tulis, wright, ...' juga akan dicari
SearchResult result = index.search(query, options);

System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

Output dari kode di atas adalah sebagai berikut:

Query: right
Documents: 2
Occurrences: 17

Anda dapat menggunakan hasil pencarian homofon dengan mengikuti langkah-langkah setelah mendapatkan homofon dan kemunculannya dari setiap dokumen.

  • Lintasi hasil pencarian.
  • Dapatkan setiap FoundDocument menggunakan metode getFoundDocument.
  • Gunakan properti dari setiap FoundDocument sesuai kebutuhan.
  • Sekarang, seberangi bidang FoundDocument dengan mendapatkan FoundDocumentField.
  • Kemudian, dari setiap FoundDocumentField, dapatkan semua istilah dan kemunculannya di dalam setiap dokumen.

Contoh kode Java berikut mencetak hasil pencarian homofon bersama dengan jumlah kemunculan setiap istilah yang dicari.

// Mencetak hasil Homophone Search di Java
System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

// Lintasi Dokumen
for (int i = 0; i < result.getDocumentCount(); i++) {
    FoundDocument document = result.getFoundDocument(i);
    System.out.println("Document: " + document.getDocumentInfo().getFilePath());
    System.out.println("Occurrences: " + document.getOccurrenceCount());
  
  // Lintasi bidang yang ditemukan
  for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\tField: " + field.getFieldName());
        System.out.println("\tOccurrences: " + document.getOccurrenceCount());
  
        // Mencetak istilah yang ditemukan
        if (field.getTerms() != null) {
            for (int k = 0; k < field.getTerms().length; k++) {
                System.out.println("\t\t" + field.getTerms()[k] + "\t - \t" + field.getTermsOccurrences()[k]);
            }
        }
    }
}

Berikut adalah output dari contoh kode di atas.

Query: right
Documents: 2
Total occurrences: 17

Document: C:/documents/sample.docx
Occurrences: 11
    Field: content
    Occurrences: 11
        right             3
        rite               4
        wright           1
        write             3
Document: C:/documents/sample.txt
Occurrences: 6
    Field: content
    Occurrences: 6
        right             4
        write             2

Cari Homofon dan Hasil Cetak Menggunakan Java - Kode Lengkap

Kode Java berikut menggabungkan langkah-langkah di atas. Awalnya, ia menemukan homofon sesuai permintaan, lalu mencetak semua kemunculan homofon dari setiap dokumen dalam folder yang disediakan.

// Cari homofon dalam banyak file dan folder menggunakan Java
String indexFolder = "path/indexFolder";
String documentsFolder = "path/documentsFolder";
String query = "right";

// Membuat indeks di folder yang ditentukan
Index index = new Index(indexFolder);
index.add(documentsFolder);

// Membuat objek opsi pencarian
SearchOptions options = new SearchOptions();
options.setUseHomophoneSearch(true); // Enable Homophone Search

// Cari kata 'benar'
// Selain kata 'benar', homofon 'ritus, tulis, wright, ...' juga akan dicari
SearchResult result = index.search(query, options);

System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Homophone Occurrences: " + result.getOccurrenceCount());

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

  for (FoundDocumentField field : document.getFoundFields()) {
        System.out.println("\tField: " + field.getFieldName());
        System.out.println("\tOccurrences: " + document.getOccurrenceCount());
  
        // Mencetak istilah yang ditemukan
        if (field.getTerms() != null) {
            for (int k = 0; k < field.getTerms().length; k++) {
                System.out.println("\t\t" + field.getTerms()[k] + "\t - \t" + field.getTermsOccurrences()[k]);
            }
        }
    }
}

Kesimpulan

Sebagai penutup, Anda telah mempelajari cara menemukan kata dan homofonnya dari beberapa dokumen dalam folder tertentu menggunakan Java. Anda dapat mencoba mengembangkan aplikasi Java Anda sendiri untuk mencari homofon menggunakan GroupDocs.Search for Java.

Pelajari lebih lanjut tentang Java Search Automation API dari dokumentasi. Untuk merasakan fitur-fiturnya, Anda dapat melihat contoh yang tersedia di repositori GitHub. Hubungi kami untuk pertanyaan apa pun melalui forum.

Lihat juga