Cara menghasilkan bentuk kata dalam Java dengan GroupDocs.Search
Dalam panduan ini Anda akan belajar cara menghasilkan bentuk kata dalam Java menggunakan API GroupDocs.Search. Dengan membuat penyedia word‑forms khusus, Anda memungkinkan mesin pencarian atau analisis teks Anda mengenali setiap variasi sebuah istilah—baik itu “cat”, “cats”, “city”, atau “citis”. Ini meningkatkan recall secara dramatis sambil mempertahankan presisi yang tinggi.
Jawaban Cepat
- Apa yang dilakukan penyedia word forms? Ia menghasilkan bentuk alternatif (tunggal, jamak, dll.) dari sebuah kata sehingga pencarian dapat mencocokkan semua varian.
- Perpustakaan mana yang diperlukan? GroupDocs.Search untuk Java (versi 25.4 atau lebih baru).
- Apakah saya memerlukan lisensi? Versi percobaan gratis dapat digunakan untuk evaluasi; lisensi permanen diperlukan untuk produksi.
- Versi Java apa yang didukung? JDK 8 atau lebih tinggi.
- Berapa baris kode yang dibutuhkan? Sekitar 30 baris untuk implementasi penyedia sederhana.
Apa itu fitur “create word forms provider”?
create word forms provider adalah kelas khusus yang mengimplementasikan IWordFormsProvider. IWordFormsProvider adalah antarmuka yang mendefinisikan cara penyedia memberikan bentuk kata alternatif ke mesin pencarian. Ia menerima sebuah kata dan mengembalikan array bentuk yang mungkin—tunggal, jamak, atau variasi linguistik lainnya—berdasarkan aturan yang Anda tentukan. Ini memungkinkan indeks pencarian memperlakukan “cat” dan “cats” sebagai setara, meningkatkan recall tanpa mengorbankan presisi.
Mengapa menggunakan GroupDocs.Search untuk pembuatan word‑form?
GroupDocs.Search menawarkan ekstensi bawaan, memungkinkan Anda menyambungkan penyedia Anda langsung ke pipeline pengindeksan. Ia memproses indeks dengan hingga 10 juta dokumen sambil menjaga penggunaan memori di bawah 500 MB berkat arsitektur streaming, dan Anda dapat menyimpan hasil dalam cache untuk mencapai waktu pencarian sub‑milidetik.
Prasyarat
- Maven terpasang dan JDK 8 atau lebih baru sudah diatur di mesin Anda.
- Familiaritas dasar dengan pengembangan Java dan konfigurasi
pom.xmlMaven. - Akses ke perpustakaan GroupDocs.Search Java (versi 25.4 atau lebih baru).
Menyiapkan GroupDocs.Search untuk Java
Konfigurasi Maven
Tambahkan repositori dan dependensi ke file pom.xml Anda persis seperti yang ditunjukkan di bawah ini:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
Unduhan langsung
Sebagai alternatif, unduh JAR terbaru dari halaman rilis resmi: GroupDocs.Search for Java releases.
Langkah-langkah memperoleh lisensi
- Versi percobaan: Daftar untuk percobaan guna mengeksplorasi fitur inti.
- Lisensi sementara: Minta kunci sementara untuk pengujian yang diperpanjang.
- Pembelian: Dapatkan lisensi komersial untuk penggunaan produksi tanpa batas.
Inisialisasi dan pengaturan dasar
Cuplikan berikut menunjukkan cara membuat indeks—titik awal Anda untuk menambahkan dokumen dan logika word‑form:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index
Index index = new Index("path/to/index");
System.out.println("GroupDocs.Search initialized successfully.");
}
}
Panduan Implementasi
Di bawah ini kami menjelaskan langkah‑langkah untuk membuat penyedia word forms yang menangani transformasi sederhana singular‑to‑plural dan plural‑to‑singular.
Mengimplementasikan SimpleWordFormsProvider
Ikhtisar
Kelas SimpleWordFormsProvider mengimplementasikan IWordFormsProvider. Penjelasan berikut memperjelas tujuannya:
SimpleWordFormsProvider adalah implementasi khusus IWordFormsProvider yang menyediakan variasi tunggal‑jamak untuk mesin pengindeksan.
Langkah 1 – buat kerangka kelas
Mulailah dengan mendefinisikan kelas yang mengimplementasikan IWordFormsProvider. Biarkan pernyataan impor tidak berubah:
import com.groupdocs.search.dictionaries.IWordFormsProvider;
import java.util.ArrayList;
public class SimpleWordFormsProvider implements IWordFormsProvider {
Langkah 2 – implementasikan getWordForms
Tambahkan metode yang membangun daftar bentuk yang mungkin. Blok ini berisi logika inti; Anda dapat memperluasnya nanti untuk mencakup aturan yang lebih kompleks.
getWordForms menerima sebuah istilah dan mengembalikan String[] yang berisi semua variasi yang dihasilkan.
@Override
public final String[] getWordForms(String word) {
// Initialize a list to store generated word forms
ArrayList<String> result = new ArrayList<>();
// Singular form for words ending in 'es'
if (word.length() > 2 && word.toLowerCase().endsWith("es")) {
result.add(word.substring(0, word.length() - 2));
}
// Singular form for words ending in 's'
if (word.length() > 1 && word.toLowerCase().endsWith("s")) {
result.add(word.substring(0, word.length() - 1));
}
// Plural form by replacing 'y' with 'is'
if (word.length() > 1 && word.toLowerCase().endsWith("y")) {
result.add(word.substring(0, word.length() - 1).concat("is"));
}
// Basic plural forms
result.add(word.concat("s"));
result.add(word.concat("es"));
// Convert list to array and return
return result.toArray(new String[0]);
}
}
Penjelasan logika
- Singularization: Mendeteksi akhiran jamak umum (
es,s) dan menghapusnya untuk memperkirakan kata dasar. - Pluralization: Menangani kata benda yang berakhiran
ydengan menggantinya menjadiis, aturan sederhana yang bekerja untuk banyak kata bahasa Inggris. - Suffix appending: Menambahkan
sdanesuntuk mencakup bentuk jamak reguler yang mungkin tidak terdeteksi oleh pemeriksaan sebelumnya.
Tips pemecahan masalah
- Case sensitivity: Metode menggunakan
toLowerCase()untuk perbandingan, memastikan “Cats” dan “cats” berperilaku sama. - Edge cases: Kata yang lebih pendek dari panjang akhiran diabaikan agar tidak mengembalikan string kosong.
- Performance: Untuk kosakata besar, pertimbangkan menyimpan hasil dalam
ConcurrentHashMap.
Aplikasi Praktis
Mengimplementasikan create word forms provider dapat meningkatkan beberapa skenario dunia nyata:
- Mesin pencari: Pengguna yang mengetik “mouse” juga harus menemukan dokumen yang berisi “mice”. Penyedia dapat menghasilkan bentuk tidak beraturan tersebut.
- Alat analisis teks: Analisis sentimen atau ekstraksi entitas menjadi lebih andal ketika semua varian kata dikenali.
- Sistem manajemen konten: Pembuatan tag otomatis dapat mencakup sinonim jamak, meningkatkan SEO dan penautan internal.
Pertimbangan Kinerja
Saat Anda menyematkan penyedia ke dalam sistem produksi, perhatikan tips berikut:
- Cache bentuk yang sering digunakan: Simpan hasil di memori untuk menghindari perhitungan ulang kata yang sama.
- Pantau heap JVM: Indeks besar dapat meningkatkan tekanan memori; sesuaikan
-Xmxsesuai kebutuhan. - Gunakan koleksi efisien:
ArrayListcocok untuk set kecil, tetapi untuk ribuan bentuk pertimbangkanHashSetuntuk mengeliminasi duplikat dengan cepat.
Best practices
- Jaga perpustakaan tetap terbaru untuk mendapatkan perbaikan kinerja.
- Profilkan penyedia dengan beban kueri realistis untuk menemukan bottleneck lebih awal.
Kesimpulan
Anda kini telah mempelajari cara menghasilkan bentuk kata dalam Java menggunakan SimpleWordFormsProvider khusus dengan GroupDocs.Search. Komponen ringan ini dapat secara dramatis meningkatkan relevansi hasil pencarian dan akurasi analisis linguistik di banyak aplikasi.
Langkah selanjutnya
- Bereksperimen dengan aturan linguistik yang lebih canggih (jamak tidak beraturan, stemming).
- Integrasikan penyedia ke dalam pipeline pengindeksan dan ukur peningkatan recall.
- Jelajahi fitur GroupDocs.Search lainnya seperti kamus sinonim dan analyzer khusus.
Ajakan bertindak: Coba tambahkan SimpleWordFormsProvider ke proyek Anda hari ini dan lihat bagaimana ia memperkaya pengalaman pencarian Anda!
Bagian FAQ
Q: Apa itu GroupDocs.Search untuk Java?
A: Ini adalah perpustakaan kuat yang menawarkan pencarian teks penuh, pengindeksan, dan fitur linguistik—termasuk kemampuan menyambungkan penyedia word‑form khusus.
Q: Bagaimana cara kerja SimpleWordFormsProvider?
A: Ia menghasilkan bentuk alternatif dengan menerapkan aturan berbasis akhiran sederhana (menghapus “s/es”, mengubah “y” menjadi “is”, dan menambahkan “s/es”).
Q: Bisakah saya menyesuaikan aturan pembuatan bentuk kata?
A: Tentu saja. Modifikasi metode getWordForms untuk menyertakan bentuk tidak beraturan, aturan spesifik locale, atau integrasi dengan kamus eksternal.
Q: Apa saja aplikasi umum untuk fitur ini?
A: Mesin pencari, pipeline analisis teks, dan platform CMS mendapat manfaat dari pengenalan varian tunggal/jamak.
Q: Apakah saya memerlukan lisensi komersial untuk penggunaan produksi?
A: Ya—meskipun percobaan memungkinkan Anda mengeksplorasi API, lisensi berbayar menghilangkan batas penggunaan dan memberikan dukungan.
Last updated: 2026-09-02
Tested with: GroupDocs.Search 25.4 (Java)
Author: GroupDocs