Cara membuat indeks pencarian java dan mengaktifkan ejaan

Dalam aplikasi Java modern, menyediakan hasil pencarian yang akurat adalah fitur yang wajib dimiliki. Tutorial ini menunjukkan cara membuat indeks pencarian java dan mengaktifkan koreksi ejaan dengan GroupDocs.Search, sehingga pengguna menerima hasil yang relevan bahkan ketika mereka salah mengetik kueri. Anda akan melihat cara menyiapkan pustaka, menambahkan dokumen, mengonfigurasi jumlah kesalahan maksimum, dan menjalankan pencarian toleran typo—semua tanpa menulis satu baris kode konfigurasi tambahan.

Jawaban Cepat

  • Apa yang dilakukan “enable spelling”? Itu mengaktifkan pemeriksa ejaan bawaan yang menulis ulang istilah yang salah eja ke bentuk yang paling dekat dan benar selama pencarian.
  • Perpustakaan mana yang menyediakan fitur ini? GroupDocs.Search untuk Java.
  • Apakah saya memerlukan lisensi? Versi percobaan gratis cukup untuk evaluasi; lisensi penuh diperlukan untuk penggunaan produksi.
  • Bisakah saya mengontrol toleransi? Ya – gunakan setMaxMistakeCount untuk menentukan berapa banyak typo yang diizinkan per kueri.
  • Apakah cocok untuk indeks besar? Tentu – mesin ini menangani indeks dengan jutaan catatan sambil menjaga latensi kueri di bawah 100 ms pada perangkat keras server standar.

Apa itu GroupDocs.Search?

GroupDocs.Search adalah pustaka Java yang menyediakan pengindeksan teks penuh yang cepat dan fitur pencarian lanjutan, termasuk koreksi ejaan bawaan. Ia mendukung lebih dari 50 format input dan dapat memproses dokumen berukuran ratusan halaman tanpa memuat seluruh file ke memori.

Mengapa mengaktifkan koreksi ejaan dalam aplikasi Java?

  • Meningkatkan kepuasan pengguna – pengunjung mendapatkan hasil yang tepat meskipun mengetik dengan tidak sempurna.
  • Mengurangi tingkat pentalan – hasil yang akurat membuat pengguna tetap terlibat lebih lama.
  • Berfungsi di berbagai domain – mulai dari katalog perpustakaan hingga pencarian produk e‑commerce, koreksi ejaan meningkatkan relevansi di mana saja.

Prasyarat

  • Java Development Kit (JDK) terpasang.
  • Pengetahuan dasar tentang Java dan Maven.
  • Memahami konsep pengindeksan.
  • Lisensi percobaan atau kunci berlisensi GroupDocs.Search.

Menyiapkan GroupDocs.Search untuk Java

Integrasikan pustaka ke dalam proyek Maven Anda.

Maven setup
Add the repository and dependency to your pom.xml file:

<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>

Unduh langsung
Sebagai alternatif, unduh versi terbaru dari Rilis GroupDocs.Search untuk Java.

Akuisisi Lisensi

Dapatkan lisensi percobaan gratis untuk evaluasi. Untuk penggunaan produksi, beli lisensi penuh atau minta kunci sementara dari situs resmi.

Bagaimana cara membuat indeks pencarian di Java?

SearchIndex adalah kelas utama yang mewakili indeks yang dapat dicari yang disimpan di disk.
Buat instance SearchIndex yang menunjuk ke folder di disk, lalu tambahkan dokumen dari direktori sumber. Mesin membangun indeks terbalik yang memungkinkan pencarian cepat. Anda dapat memanggil index.add() untuk setiap file; pustaka secara otomatis mengekstrak teks berdasarkan tipe file.

Bagaimana cara mengaktifkan koreksi ejaan?

getSpellingOptions() mengembalikan objek konfigurasi ejaan untuk indeks, memungkinkan Anda mengaktifkan atau menyesuaikan fitur pemeriksaan ejaan.
Aktifkan ejaan dengan memanggil index.getSpellingOptions().setEnabled(true). Ini memberi tahu mesin untuk menganalisis istilah kueri dan menyarankan alternatif yang diperbaiki ketika terdeteksi ketidaksesuaian. Fitur ini berfungsi langsung untuk semua bahasa yang diindeks yang didukung oleh pustaka.

Apa pengaturan jumlah kesalahan maksimum?

setMaxMistakeCount mengonfigurasi jumlah maksimum edit karakter yang dapat ditoleransi pemeriksa ejaan per istilah.
setMaxMistakeCount(int) menentukan jumlah maksimum edit karakter (penyisipan, penghapusan, substitusi) yang dapat ditoleransi pemeriksa ejaan per istilah. Menetapkannya ke 2 memungkinkan mesin memperbaiki typo dua karakter yang umum sambil menghindari koreksi yang terlalu agresif yang dapat menghasilkan hasil yang tidak terkait.

Cara melakukan pencarian dengan koreksi ejaan

search() mengeksekusi kueri terhadap indeks dan mengembalikan objek SearchResult yang berisi hasil yang cocok serta istilah yang telah diperbaiki.
Jalankan kueri pencarian menggunakan metode search(). Jika kueri mengandung kata yang salah eja, mesin mengembalikan SearchResult yang mencakup istilah yang diperbaiki dan daftar dokumen paling relevan. Anda dapat menampilkan baik kueri asli maupun versi yang diperbaiki kepada pengguna untuk transparansi.
SearchResult menyimpan daftar dokumen yang cocok dan informasi tentang koreksi kueri.

Aplikasi Praktis

  1. Sistem perpustakaan – secara otomatis memperbaiki judul buku atau nama penulis yang salah eja.
  2. Platform e‑commerce – memperbaiki typo nama produk untuk meningkatkan tingkat konversi.
  3. Manajemen konten – membantu staf editorial menemukan artikel meskipun dengan kata kunci yang tidak sempurna.

Pertimbangan Kinerja

  • Jaga indeks tetap terbaru – lakukan pengindeksan ulang file baru atau yang berubah secara teratur.
  • Sesuaikan pengaturan memori JVM – alokasikan heap yang cukup untuk indeks besar (mis., -Xmx4g).
  • Pantau penggunaan sumber daya – sesuaikan flag garbage‑collector jika Anda melihat jeda selama pengindeksan massal.

Masalah Umum & Pemecahan Masalah

GejalaPenyebab kemungkinanSolusi
Tidak ada hasil setelah mengaktifkan ejaanJalur folder indeks salah atau kosongVerifikasi indexFolder mengarah ke indeks yang valid dan bahwa index.add() berhasil
Pemeriksa ejaan tidak memperbaiki typo yang jelassetMaxMistakeCount diatur terlalu rendahTingkatkan jumlah menjadi 2 atau 3 untuk koreksi yang lebih toleran
Aplikasi crash pada kumpulan dokumen besarHeap JVM tidak cukupTingkatkan opsi -Xmx (mis., -Xmx4g)

Pertanyaan yang Sering Diajukan

T: Apa itu GroupDocs.Search?
J: GroupDocs.Search adalah pustaka Java yang menyediakan pengindeksan cepat, kemampuan kueri lanjutan, dan koreksi ejaan bawaan untuk aplikasi Java apa pun.

T: Bagaimana cara mendapatkan lisensi untuk GroupDocs.Search?
J: Kunjungi situs resmi untuk mengunduh percobaan gratis atau membeli lisensi penuh; kunci sementara juga tersedia untuk pengujian jangka pendek.

T: Bisakah saya mengintegrasikan GroupDocs.Search dengan kerangka kerja Java lain?
J: Ya, ia bekerja mulus dengan Spring, Jakarta EE, dan aplikasi Java standar apa pun.

T: Apa masalah umum saat menyiapkan indeks?
J: Jalur folder yang salah, izin file yang hilang, atau ketergantungan Maven yang tidak ada biasanya menjadi penyebabnya.

T: Bagaimana koreksi ejaan meningkatkan hasil pencarian?
J: Ia secara otomatis menulis ulang kueri yang salah eja ke istilah yang paling dekat dan benar, menghasilkan hasil yang lebih relevan dan mengurangi frustrasi pengguna.

Sumber Daya Tambahan

Terakhir Diperbarui: 2026-09-02
Diuji Dengan: GroupDocs.Search 25.4
Penulis: GroupDocs

import com.groupdocs.search.*;

public class FeatureIndexAndAddDocuments {
    public static void main(String[] args) {
        // Define where the index will be stored
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SpellChecking";
        
        // Create an Index instance pointing to the specified folder
        Index index = new Index(indexFolder);
        
        // Specify the documents directory for indexing
        String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";  
        
        // Add documents from this directory to the index
        index.add(documentsFolder);
    }
}
import com.groupdocs.search.*;
import com.groupdocs.search.options.*;

public class FeatureSpellingCorrectionOptions {
    public static void main(String[] args) {
        // Instantiate SearchOptions
        SearchOptions options = new SearchOptions();
        
        // Enable spelling correction
        options.getSpellingCorrector().setEnabled(true);
        
        // Allow up to one mistake during search
        options.getSpellingCorrector().setMaxMistakeCount(1);
        
        // Return only the best results after correction
        options.getSpellingCorrector().setOnlyBestResults(true);
    }
}
import com.groupdocs.search.*;
import com.groupdocs.search.options.*;
import com.groupdocs.search.results.*;

public class FeatureSpellingCorrectionSearch {
    public static void main(String[] args) {
        // Create an index in the specified directory
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SpellChecking";
        Index index = new Index(indexFolder);
        
        // Define search options with spelling correction enabled
        SearchOptions options = new SearchOptions();
        options.getSpellingCorrector().setEnabled(true);
        options.getSpellingCorrector().setMaxMistakeCount(1);
        options.getSpellingCorrector().setOnlyBestResults(true);
        
        // Specify a misspelled search query
        String query = "houseohld";
        
        // Execute the spelling‑corrected search
        SearchResult result = index.search(query, options);
    }
}

Tutorial Terkait