การค้นหาเต็มข้อความใน Java: สร้างดัชนีด้วย GroupDocs.Search

ในแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูลสมัยใหม่, java full text search คือเครื่องมือที่ช่วยให้คุณค้นหาข้อมูลได้ทันทีในหลายพันไฟล์ บทแนะนำนี้จะพาคุณผ่านทุกขั้นตอน—ตั้งแต่การเพิ่ม dependency ของ GroupDocs.Search ไปจนถึงการปรับแต่ง alphabet dictionary—เพื่อให้คุณสามารถให้ผลการค้นหาที่เร็วและแม่นยำในโครงการ Java ใด ๆ

คำตอบด่วน

  • What is “java full text search”? มันคือกระบวนการสร้างดัชนีที่ทำให้สามารถสอบถามข้อความอย่างรวดเร็วในหลายไฟล์ในแอปพลิเคชัน Java
  • Which library handles this out‑of‑the‑box? GroupDocs.Search for Java ให้การทำดัชนีสำเร็จรูป, การจัดการดิกชันนารี, และการดำเนินการค้นหา
  • Do I need a license? การทดลองใช้ฟรีเหมาะสำหรับการประเมิน; จำเป็นต้องมีไลเซนส์เต็มรูปแบบสำหรับการใช้งานในสภาพแวดล้อมการผลิต
  • Can I customize character handling? แน่นอน—ใช้ alphabet dictionary เพื่อกำหนดประเภทอักขระที่กำหนดเอง
  • Is Maven mandatory? Maven ทำให้การจัดการ dependency ง่ายขึ้น, แต่คุณก็สามารถดาวน์โหลด JAR โดยตรงได้

java full text search คืออะไรและทำไมต้องจัดการ alphabet dictionary?

ดัชนี java full text search จะเก็บการแสดงผลที่ถูกทำเป็นโทเคนของเอกสารของคุณ, ทำให้สามารถค้นหาคำหรือวลีได้ทันที. alphabet dictionary บอกให้เครื่องมือทราบว่าจะจัดการกับอักขระแต่ละตัว (ตัวอักษร, ตัวเลข, สัญลักษณ์) อย่างไร, ซึ่งส่งผลโดยตรงต่อการทำโทเคนและความเกี่ยวข้องของการค้นหา—โดยเฉพาะสำหรับสัญลักษณ์พิเศษหรือกฎเฉพาะของภาษา

GroupDocs.Search ประมวลผลได้ถึง 10,000 เอกสาร โดยไม่ต้องโหลดทั้งหมดเข้าสู่หน่วยความจำ, ให้เวลาตอบสนองการค้นหาในระดับต่ำกว่าหนึ่งวินาที. มันให้การควบคุมเต็มรูปแบบต่อประเภทอักขระ, รองรับ 50+ รูปแบบการนำเข้าและส่งออก, และสามารถขยายแนวนอนบนหลายเซิร์ฟเวอร์, ทำให้เป็นตัวเลือกที่แข็งแกร่งที่สุดสำหรับการค้นหาระดับองค์กร

ข้อกำหนดเบื้องต้น

  • GroupDocs.Search for Java (รุ่นล่าสุด).
  • Java 17 หรือสูงกว่า ติดตั้งบนเครื่องพัฒนาของคุณ.
  • Maven 3.6+ (หรือความสามารถในการเพิ่ม JAR ด้วยตนเอง).

ไลบรารีที่ต้องการ, เวอร์ชัน, และ dependencies

  • GroupDocs.Search for Java – เวอร์ชันเสถียรล่าสุด.
  • ไม่จำเป็นต้องใช้ไลบรารีของบุคคลที่สามเพิ่มเติมสำหรับการทำดัชนีพื้นฐาน.

ข้อกำหนดการตั้งค่าสภาพแวดล้อม

ตรวจสอบให้แน่ใจว่าคุณมีสภาพแวดล้อมที่รองรับ Maven. หากยังไม่ได้ติดตั้ง Maven, ดาวน์โหลดจากเว็บไซต์อย่างเป็นทางการ: Apache Maven.

ความรู้เบื้องต้นที่จำเป็น

ความคุ้นเคยกับไวยากรณ์ Java และการทำงานกับไฟล์ I/O จะเป็นประโยชน์, แต่คู่มือขั้นตอนต่อขั้นตอนด้านล่างครอบคลุมทุกสิ่งที่คุณต้องการ

การตั้งค่า GroupDocs.Search สำหรับ Java

การกำหนดค่า Maven

เพิ่ม repository และ dependency ลงในไฟล์ pom.xml ของคุณ:

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

ดาวน์โหลดโดยตรง

หากคุณไม่ต้องการใช้ Maven, ดาวน์โหลด JAR ล่าสุดจากหน้าปล่อยอย่างเป็นทางการ: GroupDocs.Search for Java releases.

ขั้นตอนการรับไลเซนส์

  1. Free trial – เริ่มด้วยการทดลองเพื่อสำรวจคุณสมบัติทั้งหมด.
  2. Temporary license – ขอคีย์ชั่วคราวสำหรับการทดสอบต่อเนื่อง.
  3. Full license – ซื้อไลเซนส์การผลิตเพื่อการใช้งานไม่จำกัด.

การเริ่มต้นและตั้งค่าพื้นฐาน

สร้างอินสแตนซ์ Index ที่ชี้ไปยังโฟลเดอร์ที่ดัชนีการค้นหาจะถูกจัดเก็บ:

import com.groupdocs.search.*;

public class SearchIndexSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
        Index index = new Index(indexFolder);
    }
}

คู่มือการนำไปใช้

ด้านล่างเป็นขั้นตอนครบถ้วนของการดำเนินการที่พบบ่อยที่สุดที่คุณจะทำเมื่อสร้างโซลูชัน java full text search.

การสร้างหรือเปิดดัชนี

คลาส Index เป็นอ็อบเจ็กต์หลักที่แสดงถึงคอลเลกชันที่สามารถค้นหาได้และถูกจัดเก็บบนดิสก์.

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
  • Parameters: indexFolder – เส้นทางที่ไฟล์ดัชนีอยู่.
  • Purpose: ตั้งค่าสภาพแวดล้อมการค้นหาเพื่อการทำดัชนีและการสอบถามต่อไป.

การส่งออก alphabet dictionary ไปยังไฟล์

อ็อบเจ็กต์ AlphabetDictionary เก็บการแมปประเภทอักขระ. การส่งออกช่วยให้คุณสามารถใช้ซ้ำหรือวิเคราะห์การกำหนดค่าในภายหลัง.

import com.groupdocs.search.dictionaries.*;

String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
  • Parameters: fileName – ไฟล์ปลายทางสำหรับ dictionary ที่ส่งออก.

การล้าง alphabet dictionary

รีเซ็ต dictionary ให้กลับสู่สถานะเริ่มต้นก่อนนำกฎที่กำหนดเองไปใช้:

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCount() > 0) {
    index.getDictionaries().getAlphabet().clear();
}
  • Purpose: ลบประเภทอักขระที่กำหนดไว้ก่อนหน้านี้ทั้งหมด, ทำให้เป็นสถานะเริ่มต้นที่สะอาด.

การนำเข้า alphabet dictionary จากไฟล์

กู้คืนการกำหนดค่า dictionary ที่บันทึกไว้ก่อนหน้า:

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Parameters: fileName – เส้นทางไปยังไฟล์ .dat ที่บรรจุ dictionary.

การตั้งค่าประเภทอักขระใน alphabet dictionary

enum CharacterType ระบุว่าตัวอักษรถูกตีความอย่างไรระหว่างการทำโทเคน. ปรับแต่งวิธีที่อักขระเฉพาะถูกจัดการระหว่างการทำโทเคน. ค่า CharacterType.Blended บอกให้เครื่องมือถือ hyphen เป็นส่วนหนึ่งของคำแทนที่จะเป็นตัวคั่น.

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
    index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
  • Parameters: ตัวอักษร ('-') และ CharacterType ใหม่ของมัน.
  • Why it matters: การปรับประเภทอักขระช่วยเพิ่มความเกี่ยวข้องของการค้นหาสำหรับคำที่มี hyphen, ID, หรือสัญลักษณ์ที่กำหนดเอง.

การทำดัชนีเอกสารจากโฟลเดอร์

เพิ่มไฟล์ทั้งหมดในไดเรกทอรีลงในดัชนีการค้นหาในหนึ่งขั้นตอน:

import com.groupdocs.search.*;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
  • Parameters: documentsFolder – โฟลเดอร์ที่บรรจุเอกสารที่คุณต้องการทำดัชนี.

การค้นหาในดัชนี

คลาส SearchResult มีรายการเอกสารที่ตรงกันและสแนปช็อตที่คืนมาจากการสอบถาม. ดำเนินการสอบถามและดึงผลลัพธ์ที่ตรงกัน:

import com.groupdocs.search.results.*;

String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
  • Parameters: query – ข้อความที่คุณกำลังค้นหา.
  • Result: อ็อบเจ็กต์ SearchResult ที่บรรจุเอกสารที่ตรงกันและสแนปช็อต.
  • Content management systems (CMS): เร่งความเร็วในการดึงบทความและทรัพยากร.
  • Legal document repositories: ค้นหาข้อความหรือการอ้างอิงคดีได้ทันที.
  • Research libraries: ทำดัชนีเอกสารหลายพันฉบับเพื่อการค้นหาคำสำคัญทันที.
  • E‑commerce catalogs: ปรับปรุงการค้นหาผลิตภัณฑ์ด้วยการทำโทเคนที่กำหนดเอง.
  • Customer support portals: ทำให้เจ้าหน้าที่สามารถค้นหา ticket หรือบทความฐานความรู้ที่เกี่ยวข้องได้อย่างรวดเร็ว.

ข้อควรพิจารณาด้านประสิทธิภาพ

  • Incremental updates: ทำดัชนีใหม่เฉพาะไฟล์ใหม่หรือที่เปลี่ยนแปลงเพื่อให้ดัชนีเป็นปัจจุบันโดยไม่ต้องสร้างใหม่ทั้งหมด.
  • Query optimization: ทำให้คำค้นกระชับ; หลีกเลี่ยงการค้นหา wildcard ที่กว้างเกินไป.
  • Resource monitoring: ตรวจสอบการใช้หน่วยความจำระหว่างการทำดัชนีเป็นชุดใหญ่—ปรับขนาด heap ของ JVM หากจำเป็น.
  • Dictionary size: ส่งออก/นำเข้า alphabet dictionary เฉพาะเมื่อคุณแก้ไขมัน; I/O ที่ไม่จำเป็นอาจทำให้การเริ่มต้นช้าลง.

คำถามที่พบบ่อย

Q: What are the prerequisites for using GroupDocs.Search?
A: ติดตั้ง Java 17+, Maven 3.6+ (หรือดาวน์โหลด JAR), และเพิ่ม dependency ของ GroupDocs.Search.

Q: How do I obtain a license for production use?
A: เริ่มด้วยการทดลองฟรี, ขอคีย์ชั่วคราวสำหรับการทดสอบต่อเนื่อง, แล้วซื้อไลเซนส์เต็มรูปแบบจากพอร์ทัลของ GroupDocs.

Q: Can I customize character types in the alphabet dictionary?
A: ใช่—ใช้เมธอด setRange หรือ set เพื่อกำหนดค่า CharacterType ที่กำหนดเองให้กับอักขระหรือช่วงใด ๆ.

Q: Is it possible to export and import the alphabet dictionary?
A: แน่นอน—ใช้เมธอด exportDictionary และ importDictionary เพื่อบันทึกหรือแชร์การกำหนดค่า dictionary.

Q: Which version was this guide tested with?
A: ตัวอย่างได้รับการตรวจสอบกับ GroupDocs.Search for Java เวอร์ชัน 25.4.


Last Updated: 2026-09-06
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs

บทแนะนำที่เกี่ยวข้อง