Kami baru-baru ini telah membahas, cara mendapatkan semua sinonim dari kata apa pun. Alangkah baiknya jika kita dapat menemukan sinonim ini dalam banyak dokumen berbeda. Pada artikel ini, kita akan melihat cara mencari kata apa saja dan sinonimnya di banyak file menggunakan Java.

Berikut ini adalah topik yang dibahas di bawah ini:

Java API - Cari Sinonim di Banyak File

GroupDocs.Search menampilkan Java API GroupDocs.Search for Java. Ini memungkinkan pencarian kata dan sinonimnya di berbagai file dari folder yang ditentukan. Ini mendukung daftar panjang berbagai format file dan berbagai teknik pencarian Beberapa fitur ini disebutkan di bawah ini dan Anda dapat menggunakannya dalam kombinasi untuk mencapai target Anda:

  • Pencarian Boolean
  • Pencarian Peka Huruf Besar
  • Sorot Hasil Pencarian
  • Pencarian Homofon
  • Pencarian Frasa
  • Pencarian Ekspresi Reguler
  • Cari berdasarkan Potongan
  • 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.8</version> 
</dependency>

Temukan Sinonim di Banyak File menggunakan Java

Mari kita cepat beralih ke mencari sinonim di dalam file. Langkah-langkah berikut menunjukkan cara mencari sinonim (kata-kata dengan arti serupa) dalam file di dalam folder menggunakan Java:

  • Tentukan folder indeks, folder dokumen, dan kueri (kata yang akan dicari).
  • Buat indeks menggunakan folder indeks yang ditentukan menggunakan kelas Indeks.
  • Tambahkan folder dokumen ke indeks.
  • Aktifkan Pencarian Sinonim menggunakan SearchOptions.
  • Panggil metode search dari kelas Index dan teruskan kueri dengan opsi pencarian.
  • Cetak ringkasan menggunakan properti dari kelas SearchResult yang diambil.

Kode sumber berikut menunjukkan cara menemukan semua sinonim di dalam file menggunakan Java:

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

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

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

// Cari kata 'make'
// Selain kata 'make', sinonim 'do, get, have, ...' juga akan dicari
SearchResult result = index.search(query, options);

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

Berikut adalah output dari kode di atas:

Query: **make**
Documents: 3
Word & Synonym Occurrences: 44 

Dari hasil pencarian yang diperoleh pada langkah di atas, Anda bisa mendapatkan informasi mengenai setiap kata dan sinonim dari pencarian tersebut. Langkah-langkah berikut menyajikan hasil secara rinci setelah mendapatkan semua sinonim dan jumlah kemunculannya dalam setiap dokumen:

  • Pertama, lakukan pencarian untuk mendapatkan SearchResult.
  • Tranverskan hasil pencarian untuk bekerja dengan masing-masing FoundDocument.
  • Cetak properti respektif dari setiap FoundDocument.
  • Sekarang, ekstrak dan lintasi FoundDocumentField di dalam setiap FoundDocument.
  • Setiap FoundDocumentField memiliki istilah, kejadian, dan properti lainnya di dalamnya. Gunakan pengambil masing-masing.

Kode sumber berikut menampilkan hasil pencarian sinonim beserta jumlah kemunculan setiap istilah yang dicari di Java.

// Mencetak hasil Pencarian Sinonim di Java
System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Synonym 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]);
            }
        }
    }
}

Berikut adalah output dari kode di atas:

Query: **make**
Documents: 2
Total occurrences: 22

Document: C:/documents/sample.docx
Occurrences: 13
    Field: content
    Occurrences: 13
        **make**  -  2
        **have**  -  1
        **get**  -  2
        **do**  -  8
- - - - - - - - - - - - - - - - 
Document: C:/documents/sample.txt
Occurrences: 11
    Field: content
    Occurrences: 11
        **make**  -  1
        **have**  -  2
        **get**  -  1
        **do**  -  7
- - - - - - - - - - - - - - - - 
Document: C:/documents/sample.pdf
Occurrences: 20
    Field: content
    Occurrences: 20
        **make**  -  2
        **have**  -  2
        **get**  -  2
        **do**  -  14 

Cari Sinonim dan Hasil Cetak di Java – Kode Lengkap

Mari gabungkan kedua langkah di atas, jadi inilah kode sumber lengkapnya. Pertama, ia menemukan semua sinonim sesuai dengan kueri yang disediakan. Kemudian, ia mencetak semua kemunculan setiap sinonim di setiap dokumen di Java.

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

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

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

// Cari kata 'make'
// Selain kata 'make', sinonim 'do, get, have, ...' juga akan dicari
SearchResult result = index.search(query, options);

System.out.println("Query: " + query);
System.out.println("Documents: " + result.getDocumentCount());
System.out.println("Word & Synonym 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]);
            }
        }
    }
}

Dapatkan Lisensi API Gratis

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

Kesimpulan

Untuk meringkas, kami membahas cara mencari kata apa pun beserta sinonimnya di banyak dokumen menggunakan Java. Yang terpenting, sekarang Anda dapat mencoba mengembangkan Aplikasi Java Anda sendiri untuk pencarian seperti GroupDocs.Search App.

Pelajari lebih lanjut tentang Java Search Automation API dari dokumentasi. Untuk merasakan fitur-fiturnya, coba contoh dari repositori GitHub. Jangan ragu untuk menghubungi kami jika ada pertanyaan melalui forum.

Lihat juga