Δημιουργία Αναζητήσιμου Ευρετηρίου Java – Ανάπτυξη GroupDocs.Search για Java

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

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

  • Ποιος είναι ο κύριος σκοπός του GroupDocs.Search; Παρέχει μια κλιμακώσιμη, Java‑βασισμένη μηχανή για ευρετηρίαση και αναζήτηση εγγράφων σε ένα κατανεμημένο δίκτυο.
  • Ποια έκδοση πρέπει να χρησιμοποιήσω; Η τελευταία σταθερή έκδοση (π.χ., 25.4) συνιστάται για νέα έργα.
  • Χρειάζομαι άδεια; Διατίθεται δωρεάν δοκιμή 30 ημερών· απαιτείται μόνιμη άδεια για χρήση σε παραγωγή.
  • Μπορώ να προσθέσω τόσο αρχεία όσο και ολόκληρους καταλόγους; Ναι – χρησιμοποιήστε τις βοηθητικές μεθόδους addFiles και addDirectories για την εισαγωγή περιεχομένου.
  • Ποια έκδοση της Java απαιτείται; Java 8 ή νεότερη, με Maven για τη διαχείριση εξαρτήσεων.

Τι είναι το “create searchable index java”;

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

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

  • Κλιμακώσιμη αρχιτεκτονική δικτύου – Αναπτύξτε πολλαπλούς κόμβους που μοιράζονται το φορτίο ευρετηρίασης.
  • Πλούσια υποστήριξη μορφών εγγράφων – PDFs, Word, Excel, PowerPoint, εικόνες και άλλα.
  • Ενημερώσεις βασισμένες σε συμβάντα – Εγγραφείτε σε συμβάντα κόμβου για να διατηρείτε το ευρετήριο ενημερωμένο σε πραγματικό χρόνο.
  • Απλή ενσωμάτωση Maven – Προσθέστε μερικές γραμμές στο pom.xml και ξεκινήστε την ευρετηρίαση.

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

  • JDK 8+ εγκατεστημένο στο μηχάνημά σας ανάπτυξης.
  • Ένα IDE όπως το IntelliJ IDEA ή το Eclipse.
  • Βασικές γνώσεις Java και Maven.
  • Πρόσβαση στη βιβλιοθήκη GroupDocs.Search for Java (λήψη ή Maven).

Ρύθμιση του GroupDocs.Search για Java

Εξάρτηση Maven

Προσθέστε το αποθετήριο και την εξάρτηση στο 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>

Pro tip: Κρατήστε τον αριθμό έκδοσης ενημερωμένο ελέγχοντας τη σελίδα επίσημων εκδόσεων.

Μπορείτε επίσης να κατεβάσετε το JAR απευθείας από την επίσημη ιστοσελίδα: GroupDocs.Search for Java releases.

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

  • Free Trial: Αξιολόγηση 30 ημερών.
  • Temporary License: Αίτηση για εκτεταμένη δοκιμή.
  • Purchase: Απαιτείται για αναπτύξεις παραγωγής.

Βασική Αρχικοποίηση

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

import com.groupdocs.search.Configuration;

class InitializeSearch {
    public static void main(String[] args) {
        String basePath = "your/base/path";
        int basePort = 8080;
        
        Configuration config = new ConfiguringSearchNetwork().configure(basePath, basePort);
        // Use this configuration for subsequent operations
    }
}

Πώς να δημιουργήσετε αναζητήσιμο ευρετήριο java με το GroupDocs.Search;

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

Χαρακτηριστικό 1 – Ρύθμιση Παραμέτρων και Δικτύου

Η διαμόρφωση του δικτύου αναζήτησης είναι το πρώτο βήμα προς τη δημιουργία ενός αναζητήσιμου ευρετηρίου.

import com.groupdocs.search.Configuration;
import com.groupdocs.search.scaling.*;

class ConfiguringSearchNetwork {
    public static Configuration configure(String basePath, int basePort) {
        // Configure the search network with specified base path and port
        return new Configuration(basePath, basePort);
    }
}
  • basePath – Κατάλογος όπου θα αποθηκευτούν τα δεδομένα του ευρετηρίου.
  • basePort – Αρχική θύρα· κάθε κόμβος θα αυξάνει από αυτήν την τιμή.

Χαρακτηριστικό 2 – Ανάπτυξη Κόμβων Δικτύου Αναζήτησης

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

import com.groupdocs.search.scaling.*;

class SearchNetworkDeployment {
    public static SearchNetworkNode[] deploy(String basePath, int basePort, Configuration configuration) {
        // Deploy nodes based on the provided configuration
        return new SearchNetworkNode[]{new SearchNetworkNode()};
    }
}

Κάθε SearchNetworkNode εκτελεί τη δική του υπηρεσία ευρετηρίασης, επιτρέποντάς σας να δημιουργήσετε αναζητήσιμο ευρετήριο java που κλιμακώνεται οριζόντια.

Χαρακτηριστικό 3 – Εγγραφή σε Συμβάντα Κόμβου

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

import com.groupdocs.search.scaling.*;

class SearchNetworkNodeEvents {
    public static void subscribe(SearchNetworkNode node) {
        // Logic to subscribe to the specified node's events
    }
}

Ακούγοντας τα συμβάντα, μπορείτε αυτόματα να ενεργοποιήσετε την επανευρετηρίαση όταν φτάνουν νέα αρχεία.

Χαρακτηριστικό 4 – Προσθήκη Καταλόγων στον Κόμβο Δικτύου

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

import java.io.File;
import java.util.ArrayList;

class DirectoryAdder {
    public static void addDirectories(SearchNetworkNode node, String... directoryPaths) {
        ArrayList<String> files = new ArrayList<>();
        for (String directoryPath : directoryPaths) {
            final File folder = new File(directoryPath);
            listFiles(folder, files);
        }
        addFiles(node, files.toArray(new String[0]));
    }

    private static void listFiles(final File folder, ArrayList<String> list) {
        for (final File fileEntry : folder.listFiles()) {
            if (fileEntry.isDirectory()) {
                listFiles(fileEntry, list);
            } else {
                list.add(fileEntry.getPath());
            }
        }
    }
}

Χαρακτηριστικό 5 – Προσθήκη Αρχείων στον Κόμβο Δικτύου

Όταν χρειάζεστε λεπτομερή έλεγχο, προσθέστε αρχεία στην αναζήτηση μεμονωμένα:

import com.groupdocs.search.Document;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.apache.commons.io.FilenameUtils;
import com.groupdocs.search.Indexer;
import com.groupdocs.search.options.*;

class FileAdder {
    public static void addFiles(SearchNetworkNode node, String... filePaths) {
        try {
            InputStream[] streams = new FileInputStream[filePaths.length];
            Document[] documents = new Document[filePaths.length];
            for (int i = 0; i < filePaths.length; i++) {
                String filePath = filePaths[i];
                InputStream stream = new FileInputStream(filePath);
                streams[i] = stream;
                
                // Create a document from the input stream
                String fileName = FilenameUtils.getName(filePath);
                String extension = "." + FilenameUtils.getExtension(filePath);
                Document document = Document.createFromStream(
                    fileName,
                    new Date(),
                    extension,
                    stream);
                documents[i] = document;
            }

            // Initialize the indexer and configure options
            Indexer indexer = node.getIndexer();
            IndexingOptions options = new IndexingOptions();
            options.setUseRawTextExtraction(false);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Αυτή η μέθοδος σας δίνει την ευελιξία να ευρετηριάσετε αρχεία που προέρχονται από ροές, αποθήκευση στο cloud ή προσωρινές τοποθεσίες.

Συνηθισμένα Προβλήματα & Λύσεις

ΠρόβλημαΑιτίαΔιόρθωση
Δεν εμφανίζονται έγγραφα στα αποτελέσματα αναζήτησηςΤο ευρετήριο δεν έχει δεσμευτείΚαλέστε node.getIndexer().commit() μετά την προσθήκη αρχείων.
Σφάλμα σύγκρουσης θύραςΜια άλλη υπηρεσία χρησιμοποιεί το basePortΕπιλέξτε διαφορετικό basePort ή ελέγξτε τις ελεύθερες θύρες.
Μη υποστηριζόμενη μορφή αρχείουΗ βιβλιοθήκη δεν διαθέτει αναλυτήΒεβαιωθείτε ότι η επέκταση αρχείου υποστηρίζεται ή προσθέστε έναν προσαρμοσμένο εξαγωγέα.

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

Ε: Μπορώ να χρησιμοποιήσω το GroupDocs.Search σε μια cloud‑βασισμένη εφαρμογή Java;
Α: Ναι. Η βιβλιοθήκη λειτουργεί με οποιοδήποτε περιβάλλον εκτέλεσης Java, και μπορείτε να κατευθύνετε το basePath σε φάκελο που είναι προσαρτημένος στο δίκτυο ή σε αποθήκευση cloud τοπικά προσαρτημένη.

Ε: Πώς ενημερώνω το ευρετήριο όταν αλλάζει ένα αρχείο;
Α: Εγγραφείτε στα συμβάντα κόμβου (δείτε το Χαρακτηριστικό 3) και καλέστε ξανά addFiles ή addDirectories για τις τροποποιημένες διαδρομές.

Ε: Υπάρχει όριο στον αριθμό των κόμβων που μπορώ να αναπτύξω;
Α: Στην πράξη, το όριο καθορίζεται από το υλικό και το εύρος ζώνης του δικτύου σας. Το API δεν επιβάλλει κάποιο σκληρό όριο.

Ε: Πρέπει να επανεκκινήσω τους κόμβους μετά την προσθήκη νέων αρχείων;
Α: Όχι. Η προσθήκη αρχείων ενεργοποιεί την ευρετηρίαση αυτόματα· χρειάζεται μόνο η δέσμευση εάν καθυστερήσετε τη λειτουργία.

Ε: Ποιες μορφές εγγράφων υποστηρίζονται από προεπιλογή;
Α: PDFs, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT, HTML, και πολλοί τύποι εικόνων. Δείτε την επίσημη τεκμηρίωση για την πλήρη λίστα.


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