วิธีทำดัชนีเอกสารด้วย GroupDocs.Search สำหรับ Java

ในโลกที่ขับเคลื่อนด้วยข้อมูลในปัจจุบัน การ how to index documents อย่างมีประสิทธิภาพเป็นทักษะสำคัญสำหรับนักพัฒนา Java ที่ต้องจัดการกับคอลเลกชันไฟล์ขนาดใหญ่ ไม่ว่าจะเป็นสัญญากฎหมาย รายการทางการเงิน หรือรายงานภายใน การสามารถค้นหาข้อมูลที่ต้องการได้อย่างรวดเร็วสามารถประหยัดเวลาการทำงานด้วยมือหลายชั่วโมง ในบทเรียนนี้คุณจะได้เรียนรู้ how to index documents ด้วยไลบรารี GroupDocs.Search แล้วทำการค้นหาแบบข้อความและแบบอ็อบเจกต์บนดัชนีที่สร้างขึ้น เริ่มกันเลย!

คำตอบอย่างรวดเร็ว

  • ขั้นตอนแรกในการทำดัชนีเอกสารคืออะไร? Initialize a Index object pointing to a folder where the index will be stored.
  • เมธอดใดที่ใช้เพิ่มเอกสารลงในดัชนี? Use index.add("PATH_TO_DOCUMENTS").
  • ฉันสามารถค้นหาช่วงตัวเลขได้หรือไม่? Yes, with a text query like "400 ~~ 4000" or an object query via SearchQuery.createNumericRangeQuery.
  • ฉันต้องการไลเซนส์หรือไม่? A free trial is available; a commercial license unlocks full features.
  • ต้องการเวอร์ชัน Java ใด? JDK 8 or higher.

“how to index documents” กับ GroupDocs.Search คืออะไร?

การทำดัชนีเอกสารหมายถึงการสแกนเนื้อหาของไฟล์ในโฟลเดอร์และจัดเก็บโทเค็นที่สามารถค้นหาได้ในโฟลเดอร์ดัชนีเฉพาะ ขั้นตอนการเตรียมล่วงหน้านี้ทำให้การค้นหาเร็วเหมือนแสงในภายหลัง เนื่องจากไลบรารีจะค้นหาในดัชนีที่เตรียมไว้แทนไฟล์ดิบทุกครั้ง

ทำไมต้องใช้ GroupDocs.Search สำหรับ Java?

  • Performance: การค้นหาทำงานในระดับมิลลิวินาทีแม้กับไฟล์หลายพันไฟล์.
  • Format support: รองรับ PDF, Word, Excel, PowerPoint และอื่น ๆ อีกมาก.
  • Flexibility: รองรับการค้นหาแบบ plain‑text, ช่วงตัวเลข, และการค้นหาแบบอ็อบเจกต์ที่ซับซ้อน.
  • Scalability: สามารถอัปเดตดัชนีได้ง่ายโดยการเพิ่มเอกสารใหม่โดยไม่ต้องสร้างใหม่จากศูนย์.

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

  • ติดตั้ง Maven สำหรับการจัดการ dependencies.
  • IDE เช่น IntelliJ IDEA หรือ Eclipse.
  • ความรู้พื้นฐานของ Java (แนวคิด OOP, การจัดการข้อยกเว้น).

การตั้งค่า 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>

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

คุณยังสามารถดาวน์โหลด JAR ล่าสุดจาก GroupDocs.Search for Java releases.

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

  1. Free Trial – ทดลองใช้ไลบรารีโดยไม่มีค่าใช้จ่าย.
  2. Temporary License – ขอคีย์ระยะสั้นสำหรับการประเมินต่อเนื่อง.
  3. Purchase – รับไลเซนส์เต็มรูปแบบสำหรับการใช้งานในสภาพแวดล้อมการผลิต.

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

เพื่อ add documents to index, คุณต้องสร้างอ็อบเจกต์ Index ที่ชี้ไปยังโฟลเดอร์ที่ไฟล์ดัชนีจะถูกจัดเก็บ:

import com.groupdocs.search.Index;

// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

บรรทัดนี้สร้าง (หรือเปิด) ดัชนีที่พร้อมรับเอกสาร.

คู่มือการใช้งาน

การสร้างและทำดัชนีเอกสาร

วิธีเพิ่มเอกสารลงในดัชนี

เมธอด add จะสแกนโฟลเดอร์และจัดเก็บข้อมูลที่สามารถค้นหาได้สำหรับแต่ละไฟล์.

import com.groupdocs.search.Index;

// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");

// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
  • Parameters: สตริงพาธชี้ไปยังโฟลเดอร์ที่มีไฟล์ที่คุณต้องการทำดัชนี.
  • Purpose: หลังจากขั้นตอนนี้ ดัชนีจะมีโทเค็นจากทุกประเภทเอกสารที่รองรับ ทำให้การค้นหาเร็วขึ้น.

การค้นหาแบบข้อความ

วิธีทำการค้นหาแบบข้อความด้วยช่วงตัวเลข

คุณสามารถค้นหาโดยใช้สตริงง่าย ๆ ที่กำหนดช่วง.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";

// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
  • Parameters: สตริง query "400 ~~ 4000" บอกให้เอนจินค้นหาตัวเลขระหว่าง 400 ถึง 4000.
  • Return Value: SearchResult เก็บรายการเอกสารที่ตรงกันและส่วนที่ไฮไลท์.

การค้นหาแบบอ็อบเจกต์

วิธีใช้ object query สำหรับช่วงตัวเลข

การค้นหาแบบอ็อบเจกต์ให้คุณควบคุมเกณฑ์การค้นหาแบบโปรแกรมได้.

import com.groupdocs.search.*;
import com.groupdocs.search.results.*;

// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);

// Perform search using the query object
SearchResult result2 = index.search(query2);
  • Parameters: createNumericRangeQuery รับจำนวนเต็มเริ่มต้นและสิ้นสุด.
  • Purpose: วิธีนี้เหมาะเมื่อคุณต้องการรวมหลายเงื่อนไขหรือสร้าง query อย่างไดนามิก.

การประยุกต์ใช้งานจริง

ต่อไปนี้เป็นสถานการณ์จริงที่ how to index documents กลายเป็นตัวเปลี่ยนเกม:

  1. Legal Document Management – ค้นหาข้อความ, หมายเลขคดี, หรือวันที่ในสัญญาหลายพันฉบับ.
  2. Financial Reporting – ดึงรายการธุรกรรมที่อยู่ในช่วงจำนวนเงินที่กำหนด.
  3. Inventory Tracking – ค้นหารายการโดยหมายเลขซีเรียล, รหัสล็อต, หรือช่วง SKU.

การรวม GroupDocs.Search กับฐานข้อมูล, ที่เก็บข้อมูลบนคลาวด์, หรือคิวข้อความ สามารถทำให้กระบวนการทำงานของเอกสารอัตโนมัติมากยิ่งขึ้น.

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

  • Regular Index Updates: เรียก index.add อีกครั้งสำหรับไฟล์ใหม่เพื่อให้ดัชนีเป็นปัจจุบัน.
  • Resource Management: ตรวจสอบการใช้ heap; ดัชนีขนาดใหญ่จะได้ประโยชน์จากการปรับตั้งค่า garbage‑collection ของ JVM.
  • Query Optimization: ใช้ object query สำหรับฟิลเตอร์ซับซ้อนเพื่อลดการสแกนที่ไม่จำเป็น.

ปัญหาทั่วไปและวิธีแก้

ปัญหาสาเหตุวิธีแก้
การค้นหาไม่พบผลลัพธ์ดัชนียังไม่ได้สร้างหรือพาธโฟลเดอร์ไม่ถูกต้องตรวจสอบว่าได้เรียก index.add ในไดเรกทอรีที่ถูกต้องและโฟลเดอร์ดัชนีสามารถเขียนได้.
OutOfMemoryError during indexingไฟล์ขนาดใหญ่มากหรือ heap ไม่เพียงพอเพิ่มค่า JVM -Xmx หรือทำการทำดัชนีไฟล์เป็นชุดเล็ก ๆ
Unsupported file formatประเภทไฟล์ไม่ถูกจดจำโดย GroupDocs.Searchตรวจสอบให้แน่ใจว่ามีส่วนขยายไฟล์อยู่ในรายการที่รองรับ (PDF, DOCX, XLSX, ฯลฯ).

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

Q: ฉันจะอัปเดตดัชนีที่มีอยู่ด้วยเอกสารใหม่ได้อย่างไร?
A: เรียก index.add("NEW_DOCUMENT_PATH") อีกครั้ง; ไลบรารีจะผสานรายการใหม่โดยไม่ต้องสร้างดัชนีใหม่ทั้งหมด.

Q: GroupDocs.Search สามารถจัดการกับรูปแบบไฟล์ต่าง ๆ ได้หรือไม่?
A: ใช่, รองรับ PDF, Word, Excel, PowerPoint, plain text, และรูปแบบทั่วไปอื่น ๆ มากมาย.

Q: ข้อกำหนดระบบสำหรับการใช้ GroupDocs.Search คืออะไร?
A: จำเป็นต้องมี Java 8+ runtime, RAM เพียงพอ (อย่างน้อย 2 GB สำหรับคอลเลกชันระดับปานกลาง), และการเข้าถึงอ่าน/เขียนโฟลเดอร์ดัชนี.

Q: ฉันจะแก้ไขปัญหาประสิทธิภาพการค้นหาได้อย่างไร?
A: ตรวจสอบให้แน่ใจว่าดัชนีเป็นปัจจุบัน, ทำการ profiling query ของคุณ, และตรวจสอบการตั้งค่า memory ของ JVM. การลดจำนวนฟิลด์ที่ทำดัชนีก็สามารถเพิ่มความเร็วได้.

Q: มีวิธีการค้นหาด้วยคำพ้องหรือการจับคู่แบบ fuzzy หรือไม่?
A: มี, GroupDocs.Search มีพจนานุกรมคำพ้องและตัวเลือกการค้นหาแบบ fuzzy ที่สามารถเปิดใช้งานได้ผ่านคลาส SearchOptions.

สรุป

ตอนนี้คุณมีความเข้าใจที่มั่นคงเกี่ยวกับ how to index documents ด้วย GroupDocs.Search สำหรับ Java, วิธี add documents to index, และวิธีรันการค้นหาแบบข้อความและแบบอ็อบเจกต์ การผสานเทคนิคเหล่านี้เข้าด้วยกัน แอปพลิเคชัน Java ของคุณจะมอบประสบการณ์การค้นหาที่เร็วและแม่นยำในทุกคลังเอกสาร.

พร้อมสำหรับขั้นตอนต่อไปหรือยัง? สำรวจการค้นหาแบบ faceted, การจัดการคำพ้อง, หรือผสานดัชนีกับ REST API เพื่อเปิดเผยความสามารถการค้นหาให้กับบริการอื่น ๆ.


อัปเดตล่าสุด: 2026-02-06
ทดสอบด้วย: GroupDocs.Search 25.4 for Java
ผู้เขียน: GroupDocs