Πώς να Διαμορφώσετε το Δίκτυο με το GroupDocs.Search Java

Εισαγωγή

Στο σημερινό ψηφιακό τοπίο, η διαμόρφωση δικτύου για αναζήτηση εγγράφων μεγάλης κλίμακας είναι μια κρίσιμη δεξιότητα για κάθε επιχείρηση. Οι παραδοσιακές λύσεις συχνά αντιμετωπίζουν περιορισμούς απόδοσης όταν το σύνολο δεδομένων μεγαλώνει, αλλά το GroupDocs.Search for Java προσφέρει μια κλιμακώσιμη, υψηλής απόδοσης βάση. Σε αυτό το σεμινάριο θα καλύψουμε όλα όσα χρειάζεστε για να δημιουργήσετε ένα αξιόπιστο δίκτυο αναζήτησης — από τη διαμόρφωση θυρών μέχρι την ανάπτυξη κόμβων, την ευρετηρίαση εγγράφων, την εγγραφή σε γεγονότα και ακόμη και την εκτέλεση αναζητήσεων εικόνων.

Γρήγορες Απαντήσεις

  • Ποιος είναι ο κύριος σκοπός ενός δικτύου αναζήτησης; Να διανέμει το φορτίο ευρετηρίασης και ερωτημάτων σε πολλούς κόμβους για καλύτερη κλιμακωσιμότητα και αξιοπιστία.
  • Ποια θύρα χρησιμοποιεί το GroupDocs.Search εξ ορισμού; Το παράδειγμα χρησιμοποιεί τη θύρα 49120, αλλά μπορείτε να επιλέξετε οποιαδήποτε ελεύθερη θύρα.
  • Μπορώ να προσθέσω ή να αφαιρέσω κόμβους χωρίς διακοπή λειτουργίας; Ναι — οι κόμβοι μπορούν να αναπτυχθούν ή να αφαιρεθούν δυναμικά.
  • Χρειάζομαι άδεια για παραγωγή; Απαιτείται πλήρης άδεια για χρήση σε παραγωγή· διατίθενται δοκιμαστικές άδειες για αξιολόγηση.
  • Υποστηρίζεται η αναζήτηση εικόνων έτοιμη προς χρήση; Ναι — το GroupDocs.Search παρέχει ενσωματωμένη σύγκριση hash εικόνας.

Τι είναι ένα Δίκτυο Αναζήτησης;

Ένα δίκτυο αναζήτησης είναι μια συλλογή αλληλένδετων SearchNetworkNode αντικειμένων που μοιράζονται πληροφορίες ευρετηρίασης και ανταποκρίνονται σε ερωτήματα συνεργατικά. Αυτή η αρχιτεκτονική σας επιτρέπει να διαχειρίζεστε τεράστιες συλλογές εγγράφων διατηρώντας χαμηλούς χρόνους απόκρισης.

Γιατί να Χρησιμοποιήσετε το GroupDocs.Search για Java;

  • Κλιμακωσιμότητα: Προσθέστε κόμβους καθώς αυξάνεται το αποθετήριό σας.
  • Απόδοση: Η παράλληλη ευρετηρίαση και επεξεργασία ερωτημάτων μειώνει την καθυστέρηση.
  • Ευελιξία: Υποστηρίζει κείμενο, PDF, αρχεία Office και αναζητήσεις εικόνων.
  • Διαχείριση Βασισμένη σε Γεγονότα: Παρακολούθηση σε πραγματικό χρόνο μέσω εγγραφών σε γεγονότα.

Προαπαιτούμενα

  • JDK 8+ εγκατεστημένο.
  • Ένα IDE όπως το IntelliJ IDEA ή το Eclipse.
  • Maven για διαχείριση εξαρτήσεων.
  • Βασικές γνώσεις Java και εννοιών δικτύωσης.

Απαιτούμενες Βιβλιοθήκες και Εξαρτήσεις

Προσθέστε το αποθετήριο GroupDocs και την εξάρτηση στο 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 εισάγει τη βιβλιοθήκη στο έργο σας αυτόματα.

Απόκτηση Άδειας

  • Δωρεάν Δοκιμή – εξερευνήστε τις βασικές λειτουργίες.
  • Προσωρινή Άδεια – παρατεταμένη περίοδος δοκιμής.
  • Πλήρης Άδεια – έτοιμη για παραγωγή, απεριόριστη χρήση.

Βασική Αρχικοποίηση και Ρύθμιση

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.");
    }
}

Οδηγός Υλοποίησης

Τώρα θα εμβαθύνουμε σε κάθε βασική εργασία, χρησιμοποιώντας σαφή, βήμα‑προς‑βήμα αποσπάσματα κώδικα.

Πώς να Αναπτύξετε Κόμβους σε ένα Δίκτυο Αναζήτησης

Η ανάπτυξη πολλαπλών κόμβων διανέμει το φορτίο εργασίας και βελτιώνει την αντοχή σε σφάλματα.

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.");
    }
}

Επεξήγηση:

  • basePath δείχνει στο φάκελο που περιέχει τα έγγραφά σας.
  • basePort είναι η θύρα δικτύου αναζήτησης στην οποία ακούει κάθε κόμβος· προσαρμόστε την ώστε να αποφεύγονται συγκρούσεις.
  • Η μέθοδος επιστρέφει έναν πίνακα αντικειμένων SearchNetworkNode που αντιπροσωπεύουν κάθε ενεργό κόμβο.

Πώς να Εγγραφείτε σε Γεγονότα

Η εγγραφή σε γεγονότα σας παρέχει ζωντανή εικόνα για την υγεία των κόμβων, την πρόοδο ευρετηρίασης και τα σφάλματα.

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.");
    }
}

Επεξήγηση:

  • nodes[0] θεωρείται ως κύριος κόμβος· μπορείτε επίσης να εγγραφείτε σε κάθε βοηθητικό κόμβο ξεχωριστά.

Πώς να Ευρετηριάσετε Έγγραφα

Η αποδοτική ευρετηρίαση είναι η ραχοκοκαλιά των γρήγορων αποτελεσμάτων αναζήτησης.

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.");
    }
}

Επεξήγηση:

  • addDirectories ενημερώνει τον κύριο κόμβο ποιοι φάκελοι θα σαρωθούν και θα ευρετηριαστούν.
  • Μόλις ολοκληρωθεί η ευρετηρίαση, όλοι οι κόμβοι μπορούν να ερωτήσουν το κοινόχρηστο ευρετήριο.

Πώς να Εκτελέσετε Αναζήτηση Εικόνας

Το GroupDocs.Search υποστηρίζει σύγκριση hash εικόνας, επιτρέποντάς σας να εντοπίζετε οπτικά παρόμοια περιουσιακά στοιχεία.

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);
    }
}

Επεξήγηση:

  • SearchImage.create φορτώνει την εικόνα αναφοράς.
  • imageSearch εκτελεί το ερώτημα στον επιλεγμένο κόμβο, επιτρέποντας μέγιστη διαφορά hash 8 (ρυθμίστε για πιο αυστηρούς ή πιο χαλαρούς ταιριάσμους).

Πώς να Διαμορφώσετε τις Θύρες Δικτύου

Αν το περιβάλλον σας χρησιμοποιεί ήδη τη θύρα 49120, μπορείτε να την αλλάξετε σε οποιαδήποτε ελεύθερη θύρα TCP:

int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);

Βεβαιωθείτε ότι η επιλεγμένη θύρα είναι ανοιχτή στο τείχος προστασίας και δεν χρησιμοποιείται από άλλες υπηρεσίες.

Συχνά Προβλήματα & Αντιμετώπιση

ΣυμπτωμαΠιθανή ΑιτίαΔιόρθωση
Οι κόμβοι αποτυγχάνουν να ξεκινήσουνΣύγκρουση θύραςΕπιλέξτε διαφορετικό basePort και ενημερώστε τους κανόνες του τείχους προστασίας.
Η ευρετηρίαση είναι αργήΑνεπαρκής εύρος ζώνης I/OΧρησιμοποιήστε αποθήκευση SSD και ενεργοποιήστε την επαυξητική ευρετηρίαση.
Η εγγραφή σε γεγονότα δεν ενεργοποιείταιΛείπει η καταχώρηση του χειριστή γεγονότοςΒεβαιωθείτε ότι το SearchNetworkEvents.subscribe(node) καλείται πριν ξεκινήσει οποιαδήποτε ευρετηρίαση.
Η αναζήτηση εικόνας δεν επιστρέφει αποτελέσματαΗ διαφορά hash είναι πολύ μικρήΑυξήστε την επιτρεπόμενη διαφορά hash (π.χ., από 4 σε 8).

Συχνές Ερωτήσεις

Ε: Πώς βελτιστοποιώ την απόδοση ευρετηρίασης σε ένα δίκτυο GroupDocs.Search;
Α: Χρησιμοποιήστε επαυξητική ευρετηρίαση, αποθηκεύστε το ευρετήριο σε γρήγορα SSDs και διαθέστε επαρκή μνήμη heap για το JVM.

**Ε: Μπορώ να προσθέσω ή να αφαιρέσω κόμβους χωρίς επανεκκίνησηου ανα να αφαιρεθούν δυναμικά. Μετά την προσ
Α: Τα εγγεγραμμένα γεγονότα παρέχουν ειδοποιήσεις σε πραγματικό χρόνο για αλλαγές κατάστασης κόμβων, πρόοδο ευρετηρίασης και σφάλματα, επιτρέποντας προληπτική αντιμετώπιση προβλημάτων.

Ε: Είναι δυνατόν να αναζητήσετε διαφορετικές μορφές εγγράφων ταυτόχρονα;
Α: Απόλυτα. Το GroupDocs.Search υποστηρίζει PDFs, Word, Excel, PowerPoint, εικόνες και πολλές άλλες μορφές σε ένα ενιαίο ερώτημα.

Ε: Πόσο ασφαλή είναι τα δεδομένα σε ένα δίκτυο GroupDocs.Search;
Α από την υποδομή σας. Εφαρμόστε SSL/TLS για την επικοινωνία μεταξύ κόμβων, περιορίστε την πρόσβαση στο δίκτυο και ακολουθήστε τις βέλτιστες πρακτικές προστασίας δεδομένων.


Τελευταία Ενημέρωση: 2026-01-19
Δοκιμάστηκε Με: GroupDocs.Search 25.4 for Java
Συγγραφέας: GroupDocs