สกัดข้อความ PDF ด้วย Java – สร้างดัชนีด้วย GroupDocs.Search
ในคู่มือเชิงปฏิบัตินี้ คุณจะค้นพบ วิธีสกัดข้อความ pdf ด้วย java จากไฟล์ PDF, ทำการ serialize เนื้อหาที่สกัด, และสร้างดัชนีที่ค้นหาได้ด้วยประสิทธิภาพสูง ไม่ว่าคุณจะสร้างฐานความรู้ภายใน, พอร์ทัลค้นหาเอกสัญญา, หรือเครื่องมือค้นหาที่กำหนดเอง ขั้นตอนต่อไปนี้จะพาคุณผ่านทุกอย่าง—ตั้งแต่การดึงข้อความออกจาก PDF ไปจนถึงการรันการค้นหาเต็มข้อความที่ทรงพลัง มาเริ่มกันและดูว่าทำไม GroupDocs.Search ทำให้กระบวนการทั้งหมดราบรื่นและขยายได้
คำตอบเร็ว
index.search method ทำการรัน query กับดัชนีที่สร้างขึ้นและคืนรายการเอกสารที่ตรงกันพร้อมคะแนนความเกี่ยวข้อง.
- วัตถุประสงค์หลักคืออะไร? เพื่อสกัดข้อความ pdf ด้วย java จากไฟล์ PDF และสร้างดัชนีเอกสารที่ค้นหาได้ด้วย GroupDocs.Search.
- เวอร์ชันของไลบรารีคืออะไร? GroupDocs.Search 25.4 (or the latest release).
- ต้องการไลเซนส์หรือไม่? การทดลองใช้ฟรีทำงานได้สำหรับการพัฒนา; จำเป็นต้องมีไลเซนส์เต็มสำหรับการใช้งานจริง.
- ฉันสามารถทำดัชนี PDF ได้หรือไม่? ได้—สกัดข้อความ PDF แล้วเพิ่มลงในดัชนี.
- ฉันจะรันการค้นหาอย่างไร? ใช้เมธอด
index.search(query)หลังจากเพิ่มข้อมูล.
ดัชนีเอกสารคืออะไร?
ดัชนีเอกสารคือคอลเลกชันที่มีโครงสร้างของคำที่สามารถค้นหาได้ซึ่งสกัดจากไฟล์ของคุณ มันแมปแต่ละคำไปยังเอกสารที่ปรากฏคำนั้น ทำให้การค้นหาเต็มข้อความอย่างรวดเร็วทั่วคลังข้อมูลขนาดใหญ่และลดเวลาในการค้นหาจากหลายนาทีเป็นมิลลิวินาที พร้อมสนับสนุนฟีเจอร์การจัดอันดับและความเกี่ยวข้อง.
ทำไมต้องใช้ GroupDocs.Search สำหรับ Java?
GroupDocs.Search รองรับ 50+ input and output formats, สามารถทำดัชนี millions of documents ได้โดยไม่ต้องโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ, และมี rich query language ที่รองรับตัวดำเนินการ Boolean, wildcard, และ proximity. ความสามารถเหล่านี้ทำให้เหมาะสำหรับโซลูชันการค้นหาระดับองค์กร นอกจากนี้ยังมีการตรวจจับภาษาในตัว, stemming, และตัววิเคราะห์ที่ปรับแต่งได้เพื่อปรับปรุงความแม่นยำของการค้นหาสำหรับเนื้อหาหลายภาษา.
ข้อกำหนดเบื้องต้น
- GroupDocs.Search for Java (Version 25.4 หรือใหม่กว่า).
- Java Development Kit (JDK) ที่เข้ากันได้กับเวอร์ชัน GroupDocs ของคุณ.
- IDE เช่น IntelliJ IDEA หรือ Eclipse.
- Maven สำหรับการจัดการ dependencies.
การตั้งค่า GroupDocs.Search สำหรับ Java
ขั้นแรก ให้เพิ่มไลบรารีลงในโปรเจกต์ของคุณ.
Maven Setup
ใส่ส่วนต่อไปนี้ในไฟล์ 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>
Direct Download
หรือดาวน์โหลดเวอร์ชันล่าสุดจาก GroupDocs.Search for Java releases.
การรับไลเซนส์
- Free Trial – ทดสอบคุณสมบัติทั้งหมดด้วยไลเซนส์ชั่วคราว.
- Purchase – รับการเข้าถึงเต็มรูปแบบและการสนับสนุนแบบ priority.
วิธีสกัดข้อความจาก PDF (และเอกสารอื่นๆ)
โหลด PDF ของคุณ (หรือเอกสารที่รองรับ) ด้วยคลาส Extractor, กำหนดค่าตัวเลือกการสกัด, และเรียก extractText() การเรียกนี้หนึ่งบรรทัดจะคืนข้อความดิบหรือรูปแบบพร้อมสำหรับการทำดัชนี.
คลาส Extractor เป็นส่วนประกอบหลักของ GroupDocs.Search ที่อ่านเอกสารและสร้างข้อความแบบ plain หรือ formatted.
// ```java
String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
// ```java
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);
เคล็ดลับ: ตั้งค่า
setUseRawTextExtraction(true)หากคุณต้องการข้อความ plain โดยไม่มีการจัดรูปแบบ.
วิธีทำ serialization ข้อมูลที่สกัด
Serialization แปลงอ็อบเจ็กต์ข้อความที่สกัดเป็นอาร์เรย์ของไบต์ ทำให้คุณสามารถเก็บไว้บนดิสก์หรือส่งผ่านเครือข่ายเพื่อทำดัชนีในภายหลัง.
ยูทิลิตี้ SerializationUtil ให้เมธอดสเตติกเพื่อแปลงอ็อบเจ็กต์เป็นสตรีมของไบต์และกลับคืน.
// ```java
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
วิธีทำ deserialization ข้อมูลที่สกัด
เมื่อคุณพร้อมสร้างดัชนี, ทำการ deserialize อาร์เรย์ไบต์ที่เก็บไว้ก่อนหน้านี้กลับเป็นอ็อบเจ็กต์การสกัดเดิม.
เมธอด deserialize คืนสถานะที่แม่นยำของผลลัพธ์การสกัด, รับประกันว่าไม่มีการสูญเสียข้อมูลระหว่างเซสชัน.
// ```java
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
วิธีสร้างดัชนีเอกสาร
สร้างอ็อบเจ็กต์ Index, ระบุโฟลเดอร์จัดเก็บ, และกำหนดค่าตัวเลือกการทำดัชนีเช่น term vectors และการจัดการ stop‑words.
คลาส Index แสดงถึงคอนเทนเนอร์ที่สามารถค้นหาได้ซึ่งเก็บคำทั้งหมด, การอ้างอิงเอกสาร, และเมตาดาต้า.
// ```java
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
วิธีเพิ่มข้อมูลลงดัชนีและทำการค้นหา
เพิ่มผลลัพธ์การสกัดที่ทำ deserialization ลงในดัชนีด้วย index.add(), จากนั้น query ด้วย index.search() เพื่อผลลัพธ์ทันที.
เมธอด add ลงทะเบียนคำของเอกสารในดัชนี, ส่วน search ทำการรัน query กับคำนั้นๆ.
// ```java
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
// ```java
String query = "ipsum";
SearchResult result = index.search(query);
เคล็ดลับระดับมืออาชีพ: ใช้
index.search("your query", SearchOptions)เพื่อปรับแต่งการจัดอันดับความเกี่ยวข้อง.
กรณีการใช้งานทั่วไป
- Document Management Systems – ค้นหาเอกสัญญา, ใบแจ้งหนี้, หรือนโยบายได้อย่างรวดเร็ว.
- Content‑Based Search Engines – ให้พลังกับฐานความรู้ภายในด้วยความสามารถการค้นหาเต็มข้อความ java.
- Data Archiving Solutions – ทำดัชนีบันทึกประวัติสำหรับการดึงข้อมูลทันที.
พิจารณาด้านประสิทธิภาพ
เมธอด setStoreTermVectors(boolean) กำหนดว่าจะแสดง term vectors ในดัชนีหรือไม่, ซึ่งส่งผลต่อขนาดดัชนีและประสิทธิภาพของ query.
- Memory Management: เพิ่มขนาด heap ของ JVM (เช่น
-Xmx4g) เมื่อประมวลผลชุดข้อมูลที่ใหญ่กว่า 500 MB. - Indexing Options: ปิด term vectors (
setStoreTermVectors(false)) เพื่อลดขนาดดัชนีได้ถึง 30 %. - Regular Updates: รักษา GroupDocs.Search ให้เป็นเวอร์ชันล่าสุด; แต่ละรีลีสย่อยมีการปรับปรุงความเร็วเฉลี่ย 10‑15 %.
คำถามที่พบบ่อย
Q: ฉันจะจัดการไฟล์ PDF ขนาดใหญ่มากอย่างมีประสิทธิภาพได้อย่างไร?
A: สตรีมไฟล์โดยใช้ Extractor และประมวลผลเป็นชิ้นส่วน; เพิ่มขนาด heap ของ JVM หากจำเป็น.
Q: ฉันสามารถปรับแต่งไวยากรณ์ของ query การค้นหาได้หรือไม่?
A: ได้—GroupDocs.Search รองรับตัวดำเนินการ Boolean, wildcards, และการค้นหา proximity.
Q: ควรทำอย่างไรหากการทำ serialization ล้มเหลว?
A: ตรวจสอบว่าอ็อบเจ็กต์ทั้งหมด implements Serializable และจับ IOException เพื่อบันทึกรายละเอียด.
Q: สามารถทำดัชนีเฉพาะส่วนของเอกสารได้หรือไม่?
A: แน่นอน—กำหนดค่า ExtractionOptions เพื่อกรองหน้า หรือส่วนก่อนทำดัชนี.
Q: ฉันจะอัปเกรดเป็นเวอร์ชัน GroupDocs.Search ที่ใหม่กว่าอย่างไร?
A: อัปเดตหมายเลขเวอร์ชันใน pom.xml ของคุณและรัน mvn clean install; ตรวจสอบคู่มือการย้ายเพื่อดูการเปลี่ยนแปลงที่ทำให้เกิดปัญหา.
แหล่งข้อมูล
- GroupDocs.Search for Java releases: GroupDocs.Search for Java releases
- Documentation: GroupDocs Documentation
- API Reference: GroupDocs API Reference
- Download: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Free Support: GroupDocs Forum
- Temporary License: Obtain a Temporary License
อัปเดตล่าสุด: 2026-07-07
ทดสอบด้วย: GroupDocs.Search 25.4 for Java
ผู้เขียน: GroupDocs