Δημιουργία Προσαρμοσμένου Ευρετηρίου Αναζήτησης με Αναγνώριση Χαρακτήρων χρησιμοποιώντας το GroupDocs.Search για Java
Σε σύγχρονες εφαρμογές με μεγάλο όγκο εγγράφων, η δημιουργία ενός προσαρμοσμένου ευρετηρίου αναζήτησης που κατανοεί τις λεπτομέρειές του κειμένου σας — όπως παύλες, κάτω παύλες ή σύμβολα ειδικά για γλώσσες — είναι απαραίτητη για γρήγορη, ακριβή ανάκτηση. Αυτό το εκπαιδευτικό υλικό σας καθοδηγεί στη διαμόρφωση της αναγνώρισης χαρακτήρων στο GroupDocs.Search για Java, καλύπτοντας τόσο κανονικούς χαρακτήρες (γράμματα, ψηφία, κάτω παύλες) όσο και συνδυαστικούς χαρακτήρες (π.χ., παύλες). Στο τέλος, θα μπορείτε να προσαρμόσετε ένα ευρετήριο που ανταποκρίνεται στις ακριβείς ανάγκες του σεναρίου OCR ή αναζήτησης εικόνων.
Γρήγορες Απαντήσεις
- Τι σημαίνει “create custom search index”; Σημαίνει τη διαμόρφωση ενός ευρετηρίου ώστε να αντιμετωπίζει συγκεκριμένα σύμβολα ως γράμματα ή συνδυαστικούς χαρακτήρες, αντί να τα αγνοεί.
- Ποια βιβλιοθήκη χρησιμοποιείται; GroupDocs.Search for Java (v25.4 τη στιγμή της συγγραφής).
- Χρειάζομαι άδεια; Μια δωρεάν δοκιμή λειτουργεί για ανάπτυξη· απαιτείται πληρωμένη άδεια για παραγωγή.
- Μπορώ να ευρετηριάσω τόσο PDF όσο και εικόνες; Ναι—το GroupDocs.Search υποστηρίζει OCR σε εικόνες και PDF όταν διαμορφωθεί σωστά.
- Απαιτείται το Maven; Το Maven είναι η προτεινόμενη μέθοδος διαχείρισης εξαρτήσεων, αλλά μπορείτε επίσης να χρησιμοποιήσετε Gradle ή χειροκίνητα JARs.
Τι είναι ένα Προσαρμοσμένο Ευρετήριο Αναζήτησης;
Ένα προσαρμοσμένο ευρετήριο αναζήτησης σας επιτρέπει να ορίσετε πώς η μηχανή αναζήτησης ερμηνεύει τους χαρακτήρες. Από προεπιλογή, πολλά σύμβολα αγνοούνται, κάτι που μπορεί να οδηγήσει σε χαμένα αποτελέσματα για στοιχεία όπως αριθμούς υποθέσεων (ABC-123) ή αποσπάσματα κώδικα (my_variable). Η προσαρμογή του λεξικού αλφαβήτου σας δίνει πλήρη έλεγχο πάνω σε τι θεωρεί η μηχανή ως αναζητήσιμο κείμενο.
Γιατί να Διαμορφώσετε Κανονικούς και Συνδυαστικούς Χαρακτήρες;
- Κανονικοί χαρακτήρες (γράμματα, ψηφία, κάτω παύλες) αντιμετωπίζονται ως ανεξάρτητα διακριτικά, βελτιώνοντας τις ακριβείς αναζητήσεις.
- Συνδυαστικοί χαρακτήρες (παύλες, κάθετες) συνδέουν λέξεις· η διαμόρφωσή τους αποτρέπει ανεπιθύμητο διαχωρισμό διακριτικών, κάτι που είναι κρίσιμο για νομικές αναφορές, κωδικούς προϊόντων ή ευρετηρίαση πηγαίου κώδικα.
Προαπαιτούμενα
-JDK 8** ή νεότερο εγκατεστημένο.
- Maven για διαχείριση εξαρτήσεων.
- Πρόσβαση στη βιβλιοθήκη GroupDocs.Search for Java (λήψη μέσω Maven ή του επίσημου ιστότοπου).
Απαιτούμενες Βιβλιοθήκες και Εξαρτήσεις
Προσθέστε τις καταχωρήσεις αποθετηρίου και εξαρτήσεων στο pom.xml (όπως φαίνεται παρακάτω). Το μπλοκ 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>
Μπορείτε επίσης να κατεβάσετε τα πιο πρόσφατα JAR από Κυκλοφορίες GroupDocs.Search για Java.
Απόκτηση Άδειας
- Δωρεάν Δοκιμή – ιδανική για αρχική πειραματισμό.
- Προσωρινή Άδεια – χρήσιμη για μεγαλύτερους κύκλους ανάπτυξης.
- Άδεια Παραγωγής – απαιτείται για εμπορική ανάπτυξη.
Αποκτήστε άδεια από την επίσημη πύλη: GroupDocs.
Βασική Αρχικοποίηση
Το παρακάτω απόσπασμα κώδικα δείχνει τον ελάχιστο κώδικα που απαιτείται για τη δημιουργία ενός κεντρικού ευρετηρίου. Διατηρήστε το όπως είναι· θα το επεκτείνουμε αργότερα.
import com.groupdocs.search.*;
public class GroupDocsSearchSetup {
public static void main(String[] args) {
String indexFolder = "YOUR_OUTPUT_DIRECTORY";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
Index index = new Index(indexFolder);
System.out.println("GroupDocs.Search setup completed!");
}
}
Ρύθμιση του GroupDocs.Search για Java
Εγκατάσταση μέσω Maven
Η διαμόρφωση Maven από την ενότητα Προαπαιτούμενα είναι ό,τι χρειάζεστε. Μετά την προσθήκη, εκτελέστε mvn clean install για να κατεβάσετε τα δυαδικά αρχεία.
Απαιτήσεις Ρύθμισης Περιβάλλοντος
- Βεβαιωθείτε ότι ο φάκελος ευρετηρίου και ο φάκελος εγγράφων υπάρχουν στο δίσκο.
- Χρησιμοποιήστε απόλυτες διαδρομές ή διαμορφώστε το IDE σας ώστε να επιλύει σωστά τις σχετικές διαδρομές.
Οδηγός Υλοποίησης
Παρακάτω περπατάμε μέσα από δύο ξεχωριστά χαρακτηριστικά: κανονικούς χαρακτήρες και συνδυαστικούς χαρακτήρες. Κάθε χαρακτηριστικό ακολουθεί το ίδιο μοτίβο — ορισμός διαδρομών, δημιουργία ευρετηρίου, ορισμός λεξικού χαρακτήρων και τέλος ευρετηρίαση των εγγράφων σας.
Χαρακτηριστικό 1 – Κανονικοί Χαρακτήρες
Επισκόπηση
Οι κανονικοί χαρακτήρες αντιμετωπίζονται ως ανεξάρτητα διακριτικά. Αυτό είναι ιδανικό όταν θέλετε τα ψηφία, τα γράμματα και τις κάτω παύλες να είναι αναζητήσιμα ακριβώς όπως εμφανίζονται.
Υλοποίηση Βήμα‑Βήμα
1️⃣ Ορισμός Διαδρομών
Ορίστε πού θα αποθηκευτεί το ευρετήριο και πού βρίσκονται τα πηγαία έγγραφά σας.
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/RegularCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ Δημιουργία και Διαμόρφωση Ευρετηρίου
Δημιουργήστε ένα αντικείμενο ευρετηρίου και καθαρίστε τυχόν προϋπάρχουσα διαμόρφωση αλφαβήτου.
Index index = new Index(indexFolder);
index.getDictionaries().getAlphabet().clear();
3️⃣ Ορισμός Κανονικών Χαρακτήρων
Δημιουργήστε έναν πίνακα χαρακτήρων που περιλαμβάνει ψηφία, λατινικά γράμματα και την κάτω παύλα.
StringBuilder sb = new StringBuilder();
for (char i = 0x0030; i <= 0x0039; i++) { // Digits
sb.append(i);
}
for (char i = 0x0041; i <= 0x005A; i++) { // Latin capital letters
sb.append(i);
}
sb.append(0x005F); // Underscore
for (char i = 0x0061; i <= 0x007A; i++) { // Latin small letters
sb.append(i);
}
// Convert to character array and set as alphabet range
char[] characters = new char[sb.length()];
sb.getChars(0, sb.length(), characters, 0);
index.getDictionaries().getAlphabet().setRange(characters, CharacterType.Letter);
4️⃣ Ευρετηρίαση Εγγράφων
Προσθέστε όλα τα αρχεία από τον φάκελο πηγής στο νεοδιαμορφωμένο ευρετήριο.
index.add(documentFolder);
Χαρακτηριστικό 2 – Συνδυαστικοί Χαρακτήρες
Επισκόπηση
Οι συνδυαστικοί χαρακτήρες (όπως οι παύλες) συχνά συνδέουν δύο λέξεις. Η σήμανσή τους ως συνδυαστικοί λέει στη μηχανή να διατηρεί τα γύρω διακριτικά μαζί κατά την ευρετηρίαση.
Υλοποίηση Βήμα‑Βήμα
1️⃣ Ορισμός Διαδρομών
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/CharacterTypes/BlendedCharacters";
String documentFolder = "YOUR_DOCUMENT_DIRECTORY";
2️⃣ Δημιουργία και Διαμόρφωση Ευρετηρίου
Index index = new Index(indexFolder);
3️⃣ Ορισμός Συνδυαστικών Χαρακτήρων
Εδώ ενημερώνουμε το λεξικό ότι η παύλα πρέπει να αντιμετωπίζεται ως συνδυαστικός χαρακτήρας.
index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
4️⃣ Ευρετηρίαση Εγγράφων
index.add(documentFolder);
Πρακτικές Εφαρμογές
Περίπτωση Χρήσης 1 – Διαχείριση Νομικών Εγγράφων
Τα νομικά αρχεία συχνά περιέχουν αριθμούς υποθέσεων όπως 2023-AB-456. Με τη διαμόρφωση των κάτω παυλών και των παυλών, οι αναζητήσεις επιστρέφουν ακριβείς αντιστοιχίες χωρίς να χωρίζουν το αναγνωριστικό.
Περίπτωση Χρήσης 2 – Αποθετήρια Πηγαίου Κώδικα
Οι προγραμματιστές χρειάζονται να αναζητούν αποσπάσματα κώδικα όπου οι κάτω παύλες (my_variable) και οι παύλες (my-function) έχουν σημασία. Η προσαρμοσμένη αναγνώριση χαρακτήρων διασφαλίζει ότι η μηχανή αναζήτησης σέβεται αυτά τα σύμβολα.
Περίπτωση Χρήσης 3 – Πολυγλωσσικά Σύνολα Δεδομένων
Όταν εργάζεστε με γλώσσες που χρησιμοποιούν πρόσθετα αλφάβητα, μπορείτε να επεκτείνετε το σύνολο των κανονικών χαρακτήρων ώστε να περιλαμβάνει αυτά τα εύρη Unicode, εξασφαλίζοντας ακριβή αποτελέσματα αναζήτησης μεταξύ γλωσσών.
Σκέψεις για την Απόδοση
- Διαχείριση Πόρων – Παρακολουθείτε τη χρήση του heap· μεγάλα ευρετήρια ωφελούνται από σταδιακές υποβολές.
- Συλλογή Απορριμμάτων – Αποδεσμεύστε αντικείμενα
Indexόταν τελειώσετε ώστε η JVM να ανακτήσει τη μνήμη. - Βελτιστοποίηση Ευρετηρίου – Καλέστε περιοδικά το
index.optimize()(αν είναι διαθέσιμο) για συμπίεση του ευρετηρίου και βελτίωση της ταχύτητας ερωτήματος.
Συμπέρασμα
Τώρα γνωρίζετε πώς να δημιουργήσετε ένα προσαρμοσμένο ευρετήριο αναζήτησης που διακρίνει μεταξύ κανονικών και συνδυαστικών χαρακτήρων χρησιμοποιώντας το GroupDocs.Search για Java. Αυτός ο λεπτομερής έλεγχος σας δίνει τη δυνατότητα να δημιουργήσετε λύσεις αναζήτησης με γνώση OCR, υψηλής απόδοσης, προσαρμοσμένες σε νομικά, προγραμματιστικά ή πολυγλωσσικά περιβάλλοντα.
Επόμενα Βήματα
- Πειραματιστείτε με πρόσθετα εύρη Unicode για μη λατινικά αλφάβητα.
- Συνδυάστε τη διαμόρφωση χαρακτήρων με άλλες δυνατότητες του GroupDocs.Search όπως stemming ή συνώνυμα.
- Ενσωματώστε το ευρετήριο σε ένα REST API για να εκθέσετε τις δυνατότητες αναζήτησης σε εφαρμογές front‑end.
Συχνές Ερωτήσεις
Q: Ποιος είναι ο σκοπός του CharacterType.Letter;
A: Λέει στο ευρετήριο να αντιμετωπίζει τους παρεχόμενους χαρακτήρες ως κανονικά γράμματα, ώστε να διαχωρίζονται ως διακριτικά κατά την ευρετηρίαση.
Q: Μπορώ να συνδυάσω κανονικούς και συνδυαστικούς χαρακτήρες στο ίδιο ευρετήριο;
A: Ναι—απλώς καλέστε setRange για κάθε τύπο· το λεξικό θα διαχειριστεί και τις δύο διαμορφώσεις ταυτόχρονα.
Q: Πρέπει να ξαναχτίσω το ευρετήριο μετά την αλλαγή του αλφαβήτου;
A: Απόλυτα. Οι αλλαγές στο λεξικό χαρακτήρων επηρεάζουν τη διαχωριστική διαδικασία, επομένως πρέπει να επαναευρετηριάσετε τα έγγραφα για να εφαρμοστούν οι νέοι κανόνες.
Q: Υπάρχει όριο στον αριθμό των προσαρμοσμένων χαρακτήρων που μπορώ να ορίσω;
A: Η βιβλιοθήκη υποστηρίζει ολόκληρο το εύρος Unicode· η απόδοση μπορεί να μειωθεί εάν προσθέσετε ένα εξαιρετικά μεγάλο σύνολο, γι’ αυτό περιορίστε το στους χαρακτήρες που πραγματικά χρειάζεστε.
Q: Πώς αυτό επηρεάζει την ακρίβεια του OCR;
A: Ευθυγραμμίζοντας το σύνολο χαρακτήρων του ευρετηρίου με την έξοδο του μηχανήματος OCR, μειώνετε τα ψευδή αρνητικά και βελτιώνετε τη συνολική σχετικότητα της αναζήτησης.
Τελευταία Ενημέρωση: 2026-01-11
Δοκιμή Με: GroupDocs.Search 25.4 for Java
Συγγραφέας: GroupDocs