สร้างเครือข่ายการค้นหาที่ขยายได้ – ดัชนีเอกสารด้วย GroupDocs.Java
ในบทแนะนำนี้คุณจะได้เรียนรู้ วิธีการเพิ่มเอกสารลงในดัชนี และ สร้างเครือข่ายการค้นหาที่ขยายได้ ด้วย GroupDocs.Search สำหรับ Java เราจะอธิบายการกำหนดค่าเครือข่ายการค้นหา การปรับใช้โหนด และการจัดการเหตุการณ์เพื่อให้แอปพลิเคชันของคุณสามารถประมวลผลคอลเลกชันเอกสารขนาดใหญ่ได้อย่างมีประสิทธิภาพบนหลายเซิร์ฟเวอร์
คำตอบด่วน
- อะไรหมายถึง “add documents to index”? หมายถึงการใส่ไฟล์ลงในดัชนีที่สามารถค้นหาได้เพื่อให้สามารถสืบค้นได้อย่างรวดเร็ว.
- ไลบรารีใดที่ให้ความสามารถนี้? GroupDocs.Search for Java.
- ฉันต้องการไลเซนส์หรือไม่? มีไลเซนส์ทดลองชั่วคราว; จำเป็นต้องมีไลเซนส์เชิงพาณิชย์สำหรับการใช้งานจริง.
- ฉันสามารถขยายแนวนอนได้หรือไม่? ได้ — โดยการปรับใช้หลายอินสแตนซ์ของ SearchNetworkNode.
- ต้องการเวอร์ชัน Java ใด? JDK 8 หรือสูงกว่า.
การเพิ่มเอกสารลงในดัชนีคืออะไร?
โหลดไฟล์ต้นทางของคุณ (PDF, DOCX, PPTX ฯลฯ) เข้าไปในเอนจิน GroupDocs.Search ซึ่งจะสกัดข้อความ สร้างตารางความถี่ของคำ และจัดเก็บไว้ในไฟล์ดัชนี ดัชนีที่ได้ทำให้การค้นหาคำสำคัญในระดับต่ำกว่าหนึ่งวินาทีเป็นไปได้แม้กับคอลเลกชันหลายร้อยหน้า
ทำไมต้องใช้ GroupDocs.Search สำหรับ Java ในสภาพแวดล้อมเครือข่าย?
กระจายภาระงานการทำดัชนีและการค้นหาไปยังหลายโหนด ลดความหน่วงของการสืบค้นโดยประมวลผลใกล้แหล่งข้อมูล และเพิ่มหรือลบโหนดได้โดยไม่มีเวลาหยุดทำงาน สถาปัตยกรรมนี้ทำให้คุณ ค้นหาข้ามหลายเซิร์ฟเวอร์ พร้อมรักษาประสิทธิภาพให้คงที่
ข้อกำหนดเบื้องต้น
- Java Development Kit (JDK) 8+ ติดตั้งแล้ว.
- Maven สำหรับการจัดการ dependencies.
- ความคุ้นเคยพื้นฐานกับ Java และโครงสร้างโครงการ Maven.
ไลบรารีที่จำเป็น, เวอร์ชัน, และ Dependencies
เพื่อทำให้ GroupDocs.Search for Java ทำงานได้ ให้เพิ่มสิ่งต่อไปนี้ในโครงการ Maven ของคุณ:
<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>
หรือคุณสามารถดาวน์โหลดเวอร์ชันล่าสุดจาก GroupDocs.Search for Java releases. คุณยังสามารถพบเวอร์ชันได้ที่ GroupDocs Search Java releases.
ข้อกำหนดการตั้งค่าสภาพแวดล้อม
- JDK 8 หรือสูงกว่า ติดตั้งบนระบบของคุณ.
- Maven ติดตั้งและกำหนดค่าไว้หากใช้โครงการ Maven.
ความรู้เบื้องต้นที่จำเป็น
- ความเข้าใจพื้นฐานของการเขียนโปรแกรม Java.
- ความคุ้นเคยกับการจัดการ dependencies ใน Maven.
การตั้งค่า GroupDocs.Search สำหรับ Java
- Maven Setup: เพิ่ม repository และ dependency ตามที่แสดงด้านบนในไฟล์
pom.xmlของคุณ. - Direct Download: หรือคุณสามารถดาวน์โหลดไลบรารีจาก GroupDocs Search Java releases.
การรับไลเซนส์
- รับไลเซนส์ทดลองฟรีหรือชั่วคราวโดยเยี่ยมชม GroupDocs website.
- สำหรับการเข้าถึงเต็มรูปแบบและการสนับสนุน พิจารณาซื้อไลเซนส์เชิงพาณิชย์.
การเริ่มต้นพื้นฐาน
Initialize GroupDocs.Search in your Java application:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize an index
Index index = new Index("path/to/index/directory");
// Add documents to the index
index.add("path/to/documents");
System.out.println("GroupDocs.Search setup complete.");
}
}
วิธีเพิ่มเอกสารลงในดัชนีในเครือข่ายการค้นหา?
โหลดเอกสารของคุณผ่านโหนดใดก็ได้ในเครือข่าย; เฟรมเวิร์กจะกระจายภาระงานการทำดัชนีโดยอัตโนมัติ ปรับสมดุลโหลด และอัปเดตดัชนีที่แชร์แบบเรียลไทม์ แต่ละโหนดจะประมวลผลไฟล์ที่มอบหมาย สกัดข้อความ และเขียนการเปลี่ยนแปลงแบบเพิ่มขึ้นไปยังดัชนีศูนย์กลาง เพื่อให้เนื้อหาใหม่ที่เพิ่มเข้ามาสามารถค้นหาได้ทั่วทุกโหนดโดยทันที
ฟีเจอร์ 1: กำหนดค่า Search Network
ภาพรวม
การกำหนดค่าเครือข่ายการค้นหาต้องตั้งค่าโหนดเพื่อจัดการและกระจายงานค้นหาอย่างมีประสิทธิภาพ.
ขั้นตอนที่ 1: กำหนด Base Path และ Port
คลาส SearchNetworkNode แสดงถึงโหนดเดียวที่เข้าร่วมในดัชนีแบบกระจาย.
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
ขั้นตอนที่ 2: กำหนดค่า Network
NetworkConfiguration เก็บการตั้งค่าทั่วไป (base path, ports, replication factor) ที่ทุกโหนดอ่านเมื่อเริ่มต้น.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
ฟีเจอร์ 2: ปรับใช้โหนด Search Network
ภาพรวม
ปรับใช้โหนดเพื่อกระจายและจัดการการดำเนินการค้นหาผ่านเครือข่ายของคุณ.
ขั้นตอนที่ 1: ปรับใช้โหนดโดยใช้การกำหนดค่า
อินสแตนซ์ของ SearchNetworkNode จะเริ่มด้วยไฟล์การกำหนดค่าเดียวกัน ทำให้พวกมันค้นหาและเชื่อมต่อกันผ่านช่วงพอร์ตฐานที่กำหนด.
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
ฟีเจอร์ 3: สมัครรับเหตุการณ์ของโหนด
ภาพรวม
การสมัครรับเหตุการณ์ของโหนดทำให้คุณสามารถตรวจสอบและตอบสนองต่อการกระทำต่าง ๆ ภายในเครือข่ายการค้นหา.
ขั้นตอนที่ 1: กำหนดวิธีการสมัครรับ
NodeEventListener เป็นอินเทอร์เฟซที่คุณต้องทำการ implement เพื่อรับ callback สำหรับความคืบหน้าการทำดัชนี, ข้อผิดพลาด, และการเปลี่ยนแปลงสถานะสุขภาพของโหนด.
import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;
public static void subscribe(SearchNetworkNode node) {
// Subscribe to IndexingCompleted event
node.getEvents().IndexingCompleted.add(new EventHandler() {
@Override
public void invoke(Object s, EventArgs e) {
System.out.println("Indexing completed.");
}
});
// Additional events can be subscribed similarly...
}
ขั้นตอนที่ 2: ใช้วิธีการสมัครรับ
ลงทะเบียน listener ของคุณกับแต่ละโหนดเพื่อรับฟีดแบ็กแบบเรียลไทม์ระหว่างการดำเนินการแบบแบชขนาดใหญ่.
SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);
ปิดโหนด
ควรปิดโหนดอย่างสุภาพเสมอเพื่อทำการ flush การเขียนที่ค้างอยู่และปล่อย socket ของเครือข่าย.
for (SearchNetworkNode node : nodes) {
node.close();
}
การประยุกต์ใช้งานจริง
- Enterprise Search Solutions – ปรับใช้เครือข่ายการค้นหาเพื่อจัดการการค้นหาเอกสารขนาดใหญ่ข้ามหลายเซิร์ฟเวอร์.
- E‑commerce Platforms – ปรับปรุงความสามารถการค้นหาผลิตภัณฑ์โดยกระจายงานทำดัชนีไปยังหลายโหนด.
- Content Management Systems (CMS) – ปรับปรุงประสิทธิภาพของการดึงและอัปเดตเนื้อหาในสภาพแวดล้อม CMS.
พิจารณาด้านประสิทธิภาพ
- ปรับการปรับใช้โหนดให้เหมาะสมตามทรัพยากรของระบบของคุณ.
- ตรวจสอบการใช้หน่วยความจำเป็นประจำเพื่อป้องกันการรั่วไหล โดยเฉพาะเมื่อจัดการชุดข้อมูลขนาดใหญ่.
- ใช้การตั้งค่าการกำหนดค่าเพื่อปรับจูนการทำดัชนีและการค้นหาให้มีประสิทธิภาพดียิ่งขึ้น.
ปัญหาที่พบบ่อยและวิธีแก้ไข
| ปัญหา | สาเหตุทั่วไป | วิธีแก้ |
|---|---|---|
| การชนของพอร์ต | basePort ถูกใช้แล้ว | เปลี่ยน basePort เป็นหมายเลขที่ใช้ได้ |
| โหนดไม่สามารถเข้าถึงได้ | ไฟร์วอลล์หรือกฎเครือข่าย | เปิดพอร์ตที่จำเป็นและตรวจสอบการเชื่อมต่อ |
| ดัชนีไม่อัปเดต | เส้นทางเอกสารไม่ถูกต้อง | ตรวจสอบว่า basePath ชี้ไปยังไดเรกทอรีที่ถูกต้อง |
| การใช้หน่วยความจำสูง | การทำดัชนีเป็นแบชขนาดใหญ่ | ทำดัชนีเอกสารเป็นแบชเล็กลงหรือเพิ่มขนาด heap |
คำถามที่พบบ่อย
Q: ฉันจะจัดการกับการชนของพอร์ตเมื่อปรับใช้โหนดอย่างไร?
A: เปลี่ยนตัวแปร basePort ในโค้ดการกำหนดค่าของคุณเป็นพอร์ตที่ใช้ได้.
Q: GroupDocs.Search สามารถใช้สำหรับการทำดัชนีแบบเรียลไทม์ได้หรือไม่?
A: ได้, รองรับการทำดัชนีแบบเรียลไทม์ด้วยการกำหนดค่าที่เหมาะสม.
Q: ปัญหาที่พบบ่อยระหว่างการปรับใช้โหนดมีอะไรบ้าง?
A: การเชื่อมต่อเครือข่ายและการตั้งค่าเส้นทางที่ไม่ถูกต้องเป็นสาเหตุบ่อย ตรวจสอบให้แน่ใจว่าเส้นทางและพอร์ตทั้งหมดกำหนดค่าอย่างถูกต้อง.
Q: สามารถเพิ่มเอกสารลงในดัชนีหลังจากเครือข่ายทำงานแล้วได้หรือไม่?
A: แน่นอน คุณสามารถเรียก index.add(...) บนโหนดใดก็ได้ และเครือข่ายจะกระจายภาระงานใหม่โดยอัตโนมัติ.
Q: ฉันต้องการไลเซนส์สำหรับการทดสอบการพัฒนาหรือไม่?
A: ไลเซนส์ทดลองชั่วคราวเพียงพอสำหรับการทดสอบ; จำเป็นต้องมีไลเซนส์เชิงพาณิชย์สำหรับการใช้งานในสภาพแวดล้อมการผลิต.
แหล่งข้อมูล
- Documentation: GroupDocs Search Java Docs
- API Reference: GroupDocs API Reference
- Download: Latest Release
- GitHub: GroupDocs.Search GitHub Repository
- Free Support: GroupDocs Forum
- Temporary License: Obtain a Temporary License
โดยทำตามคำแนะนำนี้ คุณจะสามารถ เพิ่มเอกสารลงในดัชนี และจัดการเครือข่ายการค้นหาที่แข็งแกร่งและ สร้างเครือข่ายการค้นหาที่ขยายได้ ด้วย GroupDocs.Search สำหรับ Java ขอให้เขียนโค้ดอย่างสนุก!
อัปเดตล่าสุด: 2026-05-22
ทดสอบด้วย: GroupDocs.Search 25.4 for Java
ผู้เขียน: GroupDocs