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.xml Maven.
  • 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

  1. Versi percobaan: Daftar untuk percobaan guna mengeksplorasi fitur inti.
  2. Lisensi sementara: Minta kunci sementara untuk pengujian yang diperpanjang.
  3. 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 y dengan menggantinya menjadi is, aturan sederhana yang bekerja untuk banyak kata bahasa Inggris.
  • Suffix appending: Menambahkan s dan es untuk 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:

  1. Mesin pencari: Pengguna yang mengetik “mouse” juga harus menemukan dokumen yang berisi “mice”. Penyedia dapat menghasilkan bentuk tidak beraturan tersebut.
  2. Alat analisis teks: Analisis sentimen atau ekstraksi entitas menjadi lebih andal ketika semua varian kata dikenali.
  3. 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 -Xmx sesuai kebutuhan.
  • Gunakan koleksi efisien: ArrayList cocok untuk set kecil, tetapi untuk ribuan bentuk pertimbangkan HashSet untuk 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

Tutorial Terkait