Εξαγωγή κειμένου PDF Java – Δημιουργία ευρετηρίου με το GroupDocs.Search
Σε αυτόν τον πρακτικό οδηγό θα ανακαλύψετε πώς να εξάγετε κείμενο pdf java από αρχεία PDF, να σειριοποιήσετε το εξαγόμενο περιεχόμενο και να δημιουργήσετε ένα υψηλής απόδοσης ευρετήριο αναζήτησης. Είτε δημιουργείτε μια εσωτερική βάση γνώσεων, μια πύλη αναζήτησης συμβάσεων ή μια προσαρμοσμένη μηχανή αναζήτησης, τα παρακάτω βήματα σας καθοδηγούν σε όλα — από την εξαγωγή κειμένου από PDFs μέχρι την εκτέλεση ισχυρών ερωτημάτων πλήρους κειμένου. Ας ξεκινήσουμε και ας δούμε γιατί το GroupDocs.Search κάνει όλη τη διαδικασία ομαλή και κλιμακώσιμη.
Γρήγορες Απαντήσεις
Η μέθοδος index.search εκτελεί ένα ερώτημα στο δημιουργημένο ευρετήριο και επιστρέφει μια λίστα με τα έγγραφα που ταιριάζουν, μαζί με τις βαθμολογίες συνάφειας.
- Ποιος είναι ο κύριος σκοπός; Για την εξαγωγή κειμένου pdf java από αρχεία PDF και τη δημιουργία ενός αναζητήσιμου ευρετηρίου εγγράφων με το GroupDocs.Search.
- Ποια έκδοση της βιβλιοθήκης; GroupDocs.Search 25.4 (ή η πιο πρόσφατη έκδοση).
- Χρειάζομαι άδεια; Μια δωρεάν δοκιμή λειτουργεί για ανάπτυξη· απαιτείται πλήρης άδεια για παραγωγή.
- Μπορώ να ευρετήσω PDFs; Ναι — εξάγετε κείμενο PDF και προσθέστε το στο ευρετήριο.
- Πώς εκτελώ αναζήτηση; Χρησιμοποιήστε τη μέθοδο
index.search(query)μετά την προσθήκη δεδομένων.
Τι είναι ένα Ευρετήριο Εγγράφων;
Ένα Ευρετήριο Εγγράφων είναι μια δομημένη συλλογή από αναζητήσιμους όρους που εξάγονται από τα αρχεία σας. Αντιστοιχίζει κάθε όρο στα έγγραφα στα οποία εμφανίζεται, επιτρέποντας γρήγορες αναζητήσεις πλήρους κειμένου σε μεγάλες αποθήκες και μειώνοντας το χρόνο αναζήτησης από λεπτά σε χιλιοστά του δευτερολέπτου, ενώ υποστηρίζει χαρακτηριστικά κατάταξης και συνάφειας.
Γιατί να χρησιμοποιήσετε το GroupDocs.Search για Java;
Το GroupDocs.Search υποστηρίζει πάνω από 50 μορφές εισόδου και εξόδου, μπορεί να ευρετήσει εκατομμύρια έγγραφα χωρίς να φορτώνει ολόκληρο το αρχείο στη μνήμη, και προσφέρει μια πλούσια γλώσσα ερωτημάτων με λογικούς τελεστές, μπαλαντέρ και τελεστές εγγύτητας. Αυτές οι ποσοτικοποιημένες δυνατότητες το καθιστούν ιδανικό για λύσεις αναζήτησης σε επίπεδο επιχείρησης. Παρέχει επίσης ενσωματωμένη ανίχνευση γλώσσας, στεμμάτωση και προσαρμόσιμους αναλυτές για βελτίωση της ακρίβειας αναζήτησης σε πολυγλωσσικό περιεχόμενο.
Προαπαιτούμενα
- GroupDocs.Search for Java (Version 25.4 ή νεότερη).
- Java Development Kit (JDK) συμβατό με την έκδοση GroupDocs σας.
- Ένα IDE όπως το IntelliJ IDEA ή το Eclipse.
- 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>
Άμεση Λήψη
Εναλλακτικά, κατεβάστε την πιο πρόσφατη έκδοση από GroupDocs.Search for Java releases.
Απόκτηση Άδειας
- Δωρεάν Δοκιμή – Δοκιμάστε όλες τις λειτουργίες με προσωρινή άδεια.
- Αγορά – Αποκτήστε πλήρη πρόσβαση και προτεραιότητα στην υποστήριξη.
Πώς να εξάγετε κείμενο από PDFs (και άλλα έγγραφα)
Φορτώστε το PDF σας (ή υποστηριζόμενο έγγραφο) με την κλάση Extractor, διαμορφώστε τις επιλογές εξαγωγής και καλέστε extractText(). Αυτή η κλήση μίας γραμμής επιστρέφει το ακατέργαστο ή μορφοποιημένο κείμενο έτοιμο για ευρετηρίαση.
Η κλάση Extractor είναι το κύριο συστατικό του GroupDocs.Search που διαβάζει ένα έγγραφο και παράγει απλό ή μορφοποιημένο κείμενο.
// ```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)εάν χρειάζεστε απλό κείμενο χωρίς μορφοποίηση.
Πώς να σειριοποιήσετε τα εξαγόμενα δεδομένα
Η σειριοποίηση μετατρέπει το αντικείμενο εξαγόμενου κειμένου σε έναν πίνακα byte, επιτρέποντάς σας να το αποθηκεύσετε στο δίσκο ή να το μεταφέρετε μέσω δικτύου για μετέπειτα ευρετηρίαση.
Η βοηθητική κλάση SerializationUtil παρέχει στατικές μεθόδους για τη μετατροπή αντικειμένων σε ροές byte και αντίστροφα.
// ```java
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Πώς να αποσειριοποιήσετε τα εξαγόμενα δεδομένα
Όταν είστε έτοιμοι να δημιουργήσετε το ευρετήριο, αποσειριοποιήστε τον προηγούμενα αποθηκευμένο πίνακα byte πίσω στο αρχικό αντικείμενο εξαγωγής.
Η μέθοδος deserialize επαναφέρει την ακριβή κατάσταση του αποτελέσματος εξαγωγής, εξασφαλίζοντας ότι δεν υπάρχει απώλεια δεδομένων μεταξύ των συνεδριών.
// ```java
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Πώς να δημιουργήσετε ευρετήριο εγγράφων
Δημιουργήστε ένα αντικείμενο Index, καθορίστε το φάκελο αποθήκευσης και διαμορφώστε τις επιλογές ευρετηρίασης όπως διανύσματα όρων και διαχείριση λέξεων-σταματημάτων.
Η κλάση Index αντιπροσωπεύει το αναζητήσιμο κοντέινερ που περιέχει όλους τους όρους, τις αναφορές εγγράφων και τα μεταδεδομένα.
// ```java
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Πώς να προσθέσετε δεδομένα στο ευρετήριο και να εκτελέσετε αναζήτηση
Προσθέστε το αποσειριοποιημένο αποτέλεσμα εξαγωγής στο ευρετήριο με index.add(), στη συνέχεια κάντε ερώτημα χρησιμοποιώντας index.search() για άμεσα αποτελέσματα.
Η μέθοδος add καταχωρεί τους όρους του εγγράφου στο ευρετήριο, ενώ η search εκτελεί το ερώτημα εναντίον αυτών των όρων.
// ```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)για λεπτομερή ρύθμιση της κατάταξης συνάφειας.
Συνηθισμένες Περιπτώσεις Χρήσης
- Συστήματα Διαχείρισης Εγγράφων – Εντοπίστε γρήγορα συμβάσεις, τιμολόγια ή πολιτικές.
- Μηχανές Αναζήτησης Βάσει Περιεχομένου – Ενισχύστε εσωτερικές βάσεις γνώσεων με δυνατότητες πλήρους κειμένου java.
- Λύσεις Αρχειοθέτησης Δεδομένων – Ευρετήστε ιστορικά αρχεία για άμεση ανάκτηση.
Σκέψεις για την Απόδοση
Η μέθοδος setStoreTermVectors(boolean) διαμορφώνει αν τα διανύσματα όρων θα αποθηκεύονται στο ευρετήριο, επηρεάζοντας το μέγεθος του ευρετηρίου και την απόδοση των ερωτημάτων.
- Διαχείριση Μνήμης: Αυξήστε το μέγεθος της στοίβας JVM (π.χ.,
-Xmx4g) όταν επεξεργάζεστε παρτίδες μεγαλύτερες από 500 MB. - Επιλογές Ευρετηρίασης: Απενεργοποιήστε τα διανύσματα όρων (
setStoreTermVectors(false)) για μείωση του μεγέθους του ευρετηρίου έως και 30 %. - Τακτικές Ενημερώσεις: Διατηρήστε το GroupDocs.Search ενημερωμένο· κάθε μικρή έκδοση περιλαμβάνει βελτιώσεις ταχύτητας κατά 10‑15 %.
Συχνές Ερωτήσεις
Q: Πώς να χειριστώ πολύ μεγάλα αρχεία PDF αποδοτικά;
A: Ροή του αρχείου χρησιμοποιώντας το Extractor και επεξεργασία του σε τμήματα· επίσης αυξήστε τη στοίβα JVM εάν χρειάζεται.
Q: Μπορώ να προσαρμόσω τη σύνταξη ερωτημάτων αναζήτησης;
A: Ναι — το GroupDocs.Search υποστηρίζει λογικούς τελεστές, μπαλαντέρ και αναζητήσεις εγγύτητας.
Q: Τι πρέπει να κάνω αν αποτύχει η σειριοποίηση;
A: Επαληθεύστε ότι όλα τα αντικείμενα υλοποιούν το Serializable και πιάστε το IOException για να καταγράψετε λεπτομέρειες.
Q: Είναι δυνατόν να ευρετήσετε μόνο συγκεκριμένα τμήματα ενός εγγράφου;
A: Απόλυτα — διαμορφώστε το ExtractionOptions για φιλτράρισμα σελίδων ή τμημάτων πριν την ευρετηρίαση.
Q: Πώς να αναβαθμίσω σε νεότερη έκδοση του GroupDocs.Search;
A: Ενημερώστε τον αριθμό έκδοσης στο pom.xml και εκτελέστε mvn clean install; εξετάστε τον οδηγό μετάβασης για αλλαγές που σπάζουν.
Πόροι
- GroupDocs.Search για Java εκδόσεις: GroupDocs.Search for Java releases
- Τεκμηρίωση: GroupDocs Documentation
- API Reference: GroupDocs API Reference
- Λήψη: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Δωρεάν Υποστήριξη: GroupDocs Forum
- Προσωρινή Άδεια: Obtain a Temporary License
Τελευταία Ενημέρωση: 2026-07-07
Δοκιμάστηκε Με: GroupDocs.Search 25.4 for Java
Συγγραφέας: GroupDocs