วิธีกำหนดค่า GroupDocs Search Network สำหรับ Java
ในสภาพแวดล้อมดิจิทัลที่เคลื่อนที่เร็วในปัจจุบัน, ทักษะ configure groupdocs search network มีความสำคัญสำหรับองค์กรใด ๆ ที่ต้องการค้นหาผ่านเอกสารหลายล้านฉบับอย่างรวดเร็วและเชื่อถือได้ เครือข่ายการค้นหาที่กำหนดค่าอย่างดีจะกระจายภาระการทำดัชนีและการสอบถามไปยังหลายโหนด JVM, ทำให้เวลาในการตอบสนองต่ำ, และรับประกันความพร้อมใช้งานสูง บทแนะนำนี้จะพาคุณผ่านทุกขั้นตอน—ตั้งแต่การตั้งค่า Maven และการเปิดใช้งานไลเซนส์จนถึงการปรับใช้โหนด, การสมัครรับเหตุการณ์, การทำดัชนีเอกสาร, และแม้กระทั่งการค้นหาภาพ—เพื่อให้คุณสามารถสร้างเครือข่าย GroupDocs.Search ที่พร้อมใช้งานในสภาพการผลิตด้วย Java.
คำตอบด่วน
- วัตถุประสงค์หลักของเครือข่ายการค้นหาคืออะไร? เพื่อกระจายภาระการทำดัชนีและการสอบถามไปยังหลายโหนดเพื่อเพิ่มความสามารถในการขยายและความน่าเชื่อถือ.
- พอร์ตใดที่ GroupDocs.Search ใช้เป็นค่าเริ่มต้น? ตัวอย่างใช้พอร์ต 49120, แต่คุณสามารถเลือกพอร์ตว่างใดก็ได้.
- ฉันสามารถเพิ่มหรือเอาโหนดออกได้โดยไม่ต้องหยุดทำงาน? ได้—โหนดสามารถปรับใช้หรือถอดออกได้แบบไดนามิก.
- ฉันต้องการไลเซนส์สำหรับการใช้งานในสภาพการผลิตหรือไม่? ต้องมีไลเซนส์เต็มสำหรับการใช้งานในสภาพการผลิต; มีไลเซนส์ทดลองสำหรับการประเมินผล.
- การค้นหาภาพได้รับการสนับสนุนโดยตรงหรือไม่? ใช่—GroupDocs.Search มีฟังก์ชันการเปรียบเทียบแฮชของภาพในตัว.
Search Network คืออะไร
SearchNetworkNode คือโหนดแต่ละตัวในคลัสเตอร์ที่โฮสต์สำเนาของดัชนีที่แชร์และประมวลผลคำขอการค้นหา. search network คือชุดของ SearchNetworkNode ที่เชื่อมต่อกันซึ่งแชร์ข้อมูลการทำดัชนีและตอบสนองต่อการสอบถามร่วมกัน สถาปัตยกรรมนี้ทำให้คุณจัดการกับคอลเลกชันเอกสารขนาดมหาศาลในขณะที่รักษาเวลาในการตอบสนองให้ต่ำ, และยังเปิดใช้งานการสลับโหนดอัตโนมัติหากโหนดใดโหนดหนึ่งออฟไลน์.
ทำไมต้องใช้ GroupDocs.Search สำหรับ Java?
โหลดแอปพลิเคชัน Java ของคุณด้วยเครื่องมือค้นหาที่สามารถ configure groupdocs search network ในไม่กี่นาที, ขยายแนวนอน, และรองรับไฟล์รูปแบบกว่า 30 ประเภท—รวมถึง PDF, DOCX, XLSX, PPTX, และประเภทภาพทั่วไป. การทดสอบแสดงให้เห็นว่า คลัสเตอร์สามโหนดสามารถทำดัชนีเอกสาร 500,000 ฉบับได้ภายในไม่เกิน 30 นาทีบนฮาร์ดแวร์เซิร์ฟเวอร์มาตรฐาน, ในขณะที่ความหน่วงของการสอบถามคงที่ต่ำกว่า 200 ms แม้ภายใต้ภาระการทำงานพร้อมกันสูง.
ข้อกำหนดเบื้องต้น
- JDK 8+ ติดตั้งบนเครื่องทุกเครื่องที่ใช้รันโหนด.
- IDE เช่น IntelliJ IDEA หรือ Eclipse เพื่อการจัดการโครงการที่ง่าย.
- Maven สำหรับการแก้ไขการพึ่งพา.
- ความรู้พื้นฐานเกี่ยวกับเครือข่าย Java (พอร์ต TCP, ไฟร์วอลล์) และแนวคิดการทำหลายเธรด.
ไลบรารีและการพึ่งพาที่จำเป็น
Add the GroupDocs repository and dependency to your 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>
หรือดาวน์โหลดเวอร์ชันล่าสุดจาก GroupDocs.Search for Java releases.
การตั้งค่า GroupDocs.Search สำหรับ Java
การติดตั้งผ่าน Maven
สคริปต์ Maven ด้านบนจะดึงไลบรารีเข้าสู่โครงการของคุณโดยอัตโนมัติ.
การรับไลเซนส์
- Free Trial – ทดลองใช้ฟีเจอร์หลักโดยไม่ต้องใช้บัตรเครดิต.
- Temporary License – ระยะเวลาการทดสอบต่อเนื่องสำหรับโครงการนำร่องภายใน.
- Full License – พร้อมใช้งานในสภาพการผลิต, การใช้งานไม่จำกัด, และการสนับสนุนระดับพิเศษ.
การเริ่มต้นและตั้งค่าเบื้องต้น
คลาส SearchNetworkDeployment ประสานการสร้างและการจัดการคลัสเตอร์การค้นหา, จัดการวงจรชีวิตของโหนดและทรัพยากรที่แชร์. ก่อนที่คุณจะสามารถโต้ตอบกับโหนดใด ๆ, คุณต้องสร้างอ็อบเจ็กต์ SearchNetworkDeployment และชี้ไปยังโฟลเดอร์ดัชนีที่แชร์. โค้ดบล็อกต่อไปนี้ (รักษาไว้จากบทแนะนำต้นฉบับ) แสดงการบูตสตาร์ทขั้นพื้นฐาน:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Create an instance of Index with the path to store index data.
String indexPath = "path/to/index";
Index index = new Index(indexPath);
System.out.println("GroupDocs.Search initialized successfully.");
}
}
คู่มือการนำไปใช้
ต่อไปเราจะเจาะลึกแต่ละงานหลัก, โดยใช้คำอธิบายที่ชัดเจนและเป็นขั้นตอนที่มาก่อนโค้ดต้นฉบับ.
วิธีการปรับใช้โหนดใน Search Network
การปรับใช้หลายโหนดช่วยกระจายภาระงานและเพิ่มความทนทานต่อข้อผิดพลาด. SearchNetworkNode แทนอินสแตนซ์ JVM แต่ละตัวที่เข้าร่วมคลัสเตอร์การค้นหา, จัดการการทำดัชนีและคำขอการสอบถาม. โดยการเปิดหลายโหนดบนพอร์ตต่อเนื่อง คุณจะสร้างเครือข่ายที่ทนทานซึ่งแต่ละโหนดสามารถให้บริการเรียกจากไคลเอนต์และแชร์ดัชนีร่วมกัน.
public class SearchNetworkDeployment {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY";
int basePort = 49120; // Change if necessary.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
System.out.println("Deployed " + nodes.length + " search network nodes.");
}
}
วิธีการสมัครรับเหตุการณ์
การสมัครรับเหตุการณ์ทำให้คุณได้รับข้อมูลแบบเรียลไทม์เกี่ยวกับสุขภาพของโหนด, ความคืบหน้าการทำดัชนี, และข้อผิดพลาด. คลาส SearchNetworkEvents ให้ชุดของ callback ที่ถูกเรียกเมื่อเกิดการกระทำสำคัญ เช่น การทำดัชนีเสร็จสิ้น, การล้มเหลวของโหนด, หรือการแจ้งเตือนแบบกำหนดเอง. การลงทะเบียน listener บนโหนด master หรือ worker ทำให้สามารถตรวจสอบแบบเรียลไทม์และตอบสนองอัตโนมัติเพื่อให้เครือข่ายทำงานอย่างราบรื่น.
public class NodeEventSubscription {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY";
int basePort = 49120; // Adjust if needed.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkEvents.subscribe(nodes[0]);
System.out.println("Subscribed to events for the master node.");
}
}
วิธีการทำดัชนีเอกสาร
การทำดัชนีที่มีประสิทธิภาพเป็นโครงหลักของผลการค้นหาที่รวดเร็ว. เมื่อคุณเพิ่มไดเรกทอรีไปยังโหนด master, เอนจินจะสแกนแต่ละไฟล์, ดึงเนื้อหาที่สามารถค้นหาได้, และเก็บไว้ในโครงสร้างดัชนีที่แชร์. กระบวนการนี้สามารถทำแบบเพิ่มพูน, อัปเดตเฉพาะไฟล์ที่เปลี่ยนแปลง, ซึ่งช่วยลดภาระ I/O และทำให้การสอบถามสะท้อนเวอร์ชันเอกสารล่าสุดเสมอ.
public class DocumentIndexing {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY";
int basePort = 49120; // Change if there is a conflict.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
IndexingDocuments.addDirectories(nodes[0], "YOUR_DOCUMENT_DIRECTORY");
System.out.println("Added directories to master node's index.");
}
}
วิธีการทำการค้นหาภาพ
GroupDocs.Search รองรับการเปรียบเทียบแฮชของภาพ, ช่วยให้คุณค้นหาสินทรัพย์ที่มีลักษณะภาพคล้ายกัน. คลาส SearchImage จัดการไฟล์ภาพและคำนวณแฮชเชิงรับรู้ที่สามารถเปรียบเทียบกับแฮชที่เก็บในดัชนี. โดยการกำหนดค่าความแตกต่างแฮชสูงสุด, คุณควบคุมความทนทานของความคล้ายกันของภาพ, ทำให้ค้นพบภาพซ้ำหรือภาพที่เกี่ยวข้องได้อย่างเชื่อถือในคลังข้อมูล.
public class ImageSearch {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY";
int basePort = 49120; // Modify if needed.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchImage searchImage = SearchImage.create("YOUR_DOCUMENT_DIRECTORY/ic_arrow_back_black_18dp.png");
imageSearch(nodes[0], searchImage, 8);
}
}
วิธีการกำหนดค่าพอร์ตเครือข่าย
หากสภาพแวดล้อมของคุณใช้พอร์ต 49120 อยู่แล้ว, คุณสามารถเปลี่ยนเป็นพอร์ต TCP ว่างใดก็ได้. พารามิเตอร์ basePort กำหนดหมายเลขพอร์ตเริ่มต้นสำหรับคลัสเตอร์, และแต่ละโหนดต่อไปจะเพิ่มค่าพอร์ตนี้โดยอัตโนมัติ. ตรวจสอบให้แน่ใจว่าพอร์ตที่เลือกเปิดในไฟร์วอลล์, ไม่ถูกใช้โดยบริการอื่น, และกำหนดค่าอย่างสม่ำเสมอในทุกโหนดเพื่อรักษาการสื่อสารที่ต่อเนื่อง.
int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);
ปัญหาทั่วไปและการแก้ไขข้อผิดพลาด
| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ |
|---|---|---|
| โหนดไม่สามารถเริ่มทำงาน | ขัดแย้งพอร์ต | เลือก basePort ที่แตกต่างและอัปเดตกฎไฟร์วอลล์. |
| การทำดัชนีช้า | แบนด์วิธ I/O ไม่เพียงพอ | ใช้ที่เก็บข้อมูล SSD และเปิดใช้งานการทำดัชนีแบบเพิ่มพูน. |
| การสมัครรับเหตุการณ์ไม่ทำงาน | ไม่มีการลงทะเบียนตัวจัดการเหตุการณ์ | ตรวจสอบให้แน่ใจว่า SearchNetworkEvents.subscribe(node) ถูกเรียกก่อนเริ่มทำดัชนีใด ๆ. |
| การค้นหาภาพไม่ให้ผลลัพธ์ | ความแตกต่างแฮชต่ำเกินไป | เพิ่มความแตกต่างแฮชที่อนุญาต (เช่น จาก 4 เป็น 8). |
คำถามที่พบบ่อย
Q: ฉันจะเพิ่มประสิทธิภาพการทำดัชนีในเครือข่าย GroupDocs.Search อย่างไร?
A: ใช้การทำดัชนีแบบเพิ่มพูน, เก็บดัชนีบน SSD ที่เร็ว, และจัดสรรหน่วยความจำ heap ของ JVM ให้เพียงพอ.
Q: ฉันสามารถเพิ่มหรือเอาโหนดออกโดยไม่ต้องรีสตาร์ทเครือข่ายการค้นหาทั้งหมดหรือไม่?
A: ได้—โหนดสามารถปรับใช้หรือถอดออกได้แบบไดนามิก. หลังจากเพิ่มโหนด, เรียก SearchNetworkDeployment.deploy อีกครั้งเพื่อรีเฟรชมุมมองคลัสเตอร์.
Q: การสมัครรับเหตุการณ์ช่วยปรับปรุงการจัดการเครือข่ายอย่างไร?
A: เหตุการณ์ที่สมัครรับให้การแจ้งเตือนแบบเรียลไทม์สำหรับการเปลี่ยนแปลงสถานะโหนด, ความคืบหน้าการทำดัชนี, และข้อผิดพลาด, ทำให้สามารถแก้ไขปัญหาเชิงรุกได้.
Q: สามารถค้นหาหลายรูปแบบเอกสารพร้อมกันได้หรือไม่?
A: ได้แน่นอน. GroupDocs.Search รองรับ PDF, Word, Excel, PowerPoint, ภาพ, และรูปแบบอื่น ๆ จำนวนมากในคำค้นเดียว.
Q: ความปลอดภัยของข้อมูลในเครือข่าย GroupDocs.Search เป็นอย่างไร?
A: ความปลอดภัยขึ้นอยู่กับโครงสร้างพื้นฐานของคุณ. ใช้ SSL/TLS สำหรับการสื่อสารระหว่างโหนด, จำกัดการเข้าถึงเครือข่าย, และปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดสำหรับการปกป้องข้อมูล.
อัปเดตล่าสุด: 2026-06-27
ทดสอบกับ: GroupDocs.Search 25.4 for Java
ผู้เขียน: GroupDocs