Πώς να κάνετε αναζήτηση με regex στη Java με το GroupDocs.Search
Η αναζήτηση σε χιλιάδες έγγραφα κειμένου μπορεί να μοιάζει με το να ψάχνεις για βελόνι σε άχυρο. Η Πώς να κάνετε αναζήτηση με regex στη Java γίνεται εύκολη όταν συνδυάζετε τη δυνατή μηχανή κανονικών εκφράσεων της γλώσσας με το GroupDocs.Search, μια βιβλιοθήκη που δημιουργεί ένα ευρετήριο για αστραπιαία ταχεία αντιστοίχιση προτύπων. Στα επόμενα λεπτά θα δείτε πώς να εγκαταστήσετε τη βιβλιοθήκη, να δημιουργήσετε ένα ευρετήριο, να προσθέσετε αρχεία και να εκτελέσετε τόσο απλές ερωτήσεις κειμένου όσο και αντικειμενοστραφείς ερωτήσεις regex. Στο τέλος θα είστε έτοιμοι να ενσωματώσετε μια ισχυρή αναζήτηση με αντιστοίχιση προτύπων σε οποιαδήποτε εφαρμογή Java.
Γρήγορες Απαντήσεις
- Ποια είναι η κύρια βιβλιοθήκη; GroupDocs.Search for Java
- Πώς ξεκινάω; Add the Maven dependency and instantiate an
Indexobject - Μπορώ να φιλτράρω περιεχόμενο με regex; Yes – use regex queries for content‑filtering scenarios
- Χρειάζομαι άδεια; A free trial or temporary license is required for production use
- Ποια έκδοση JDK υποστηρίζεται; Java 8 or higher
Τι είναι η Αναζήτηση με Regex;
Η αναζήτηση με regex σας επιτρέπει να εντοπίζετε πρότυπα όπως ημερομηνίες, διευθύνσεις email ή επαναλαμβανόμενους χαρακτήρες σε πολλά αρχεία με μία μόνο ενέργεια. Μετατρέπει ένα ερώτημα απλού κειμένου σε έναν ισχυρό, βασισμένο σε κανόνες σαρωτή που μπορεί να εξάγει ή να αποκλείει περιεχόμενο άμεσα.
Γιατί να χρησιμοποιήσετε το GroupDocs.Search για Αναζήτηση με Regex;
Το GroupDocs.Search ευρετηριάζει τα έγγραφα μία φορά και στη συνέχεια επαναχρησιμοποιεί αυτό το ευρετήριο για κάθε ερώτημα, παρέχοντας έως 10× ταχύτερες αναζητήσεις σε σύγκριση με την ακατέργαστη σάρωση αρχείων. Η βιβλιοθήκη υποστηρίζει πάνω από 30 μορφές αρχείων (PDF, DOCX, XLSX, PPTX, TXT, HTML και άλλα) και μπορεί να διαχειριστεί αρχεία πολλών εκατοντάδων σελίδων χωρίς να φορτώνει ολόκληρο το αρχείο στη μνήμη.
Προαπαιτούμενα
- Java Development Kit (JDK) 8 ή νεότερο
- Maven για διαχείριση εξαρτήσεων
- Βασική εξοικείωση με τις κανονικές εκφράσεις της Java
Απαιτούμενες Βιβλιοθήκες και Εξαρτήσεις
Προσθέστε το GroupDocs.Search στο Maven project σας:
<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 for Java releases.
Απόκτηση Άδειας
Αποκτήστε μια δωρεάν δοκιμή ή προσωρινή άδεια από το GroupDocs.License και φορτώστε την κατά την εκκίνηση της εφαρμογής.
Ρύθμιση του GroupDocs.Search για Java
Πληροφορίες Εγκατάστασης
- Ενσωμάτωση Maven: Add the repository and dependency shown above to your
pom.xml. - Άμεση Λήψη: Place the JAR files on your project’s classpath.
- Εφαρμογή Άδειας: Load the license file at application start‑up.
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize the index by specifying a directory.
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);
System.out.println("Index created successfully at: " + indexFolder);
}
}
Κύρια Συστατικά
Η κλάση Index είναι το κύριο συστατικό που αποθηκεύει τα αναζητήσιμα tokens που εξάγονται από τα έγγραφά σας. Επιτρέπει γρήγορη αναζήτηση οποιουδήποτε όρου ή προτύπου χωρίς επαναφόρτωση των αρχικών αρχείων.
Πώς να Δημιουργήσετε Ευρετήριο
Η δημιουργία ενός ευρετηρίου είναι απλή: δημιουργήστε μια παρουσία της κλάσης Index με μια διαδρομή φακέλου όπου θα αποθηκευτούν τα αρχεία του ευρετηρίου. Ο κατασκευαστής δημιουργεί τα απαραίτητα αρχεία βάσης δεδομένων κατά την πρώτη χρήση και προετοιμάζει τη μηχανή για προσθήκη και αναζήτηση εγγράφων. Μόλις δημιουργηθεί, επαναχρησιμοποιήστε το ίδιο ευρετήριο για όλες τις ερωτήσεις.
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\RegularExpressionSearch";
Index index = new Index(indexFolder);
Πώς να Προσθέσετε Έγγραφα
Για να κάνετε ένα αρχείο αναζητήσιμο, καλέστε index.add με ένα αντικείμενο Document (ή DocumentInfo) που δείχνει στη διαδρομή του αρχείου. Η βιβλιοθήκη αναλύει το περιεχόμενο, εξάγει tokens και τα αποθηκεύει στο ευρετήριο. Αυτή η λειτουργία μπορεί να εκτελεστεί για μεμονωμένα αρχεία ή παρτίδες, και οι ενημερώσεις συγχωνεύονται σταδιακά.
index.add("YOUR_DOCUMENT_DIRECTORY");
system.out.println("Documents added to the index.");
Πώς να Εκτελέσετε Αναζήτηση Κανονικής Έκφρασης σε Μορφή Κειμένου
RegexQuery ορίζει ένα ερώτημα αναζήτησης βασισμένο σε κανονική έκφραση. Φορτώστε ένα RegexQuery με ένα πρότυπο απλού κειμένου και περάστε το στη μέθοδο search του Index. Η μηχανή αξιολογεί το πρότυπο έναντι των ευρετηριασμένων tokens και επιστρέφει τις αντίστοιχες αναφορές εγγράφων, κάνοντας τις μοναδικές αναζητήσεις γρήγορες και απλές.
String query1 = "^((.)\\2{1,})";
Πώς να Εκτελέσετε Αναζήτηση Κανονικής Έκφρασης σε Μορφή Αντικειμένου
RegexQuery μπορεί επίσης να δημιουργηθεί ως αντικείμενο και να επαναχρησιμοποιηθεί σε πολλαπλές αναζητήσεις. Ορίστε το ερώτημα μία φορά, διαμορφώστε επιλογές όπως η αδιαφορία πεζών-κεφαλαίων ή η ασαφής αντιστοίχιση, και καλέστε επανειλημμένα το index.search. Αυτή η προσέγγιση βελτιώνει την απόδοση όταν το ίδιο πρότυπο εφαρμόζεται σε πολλά διαφορετικά σύνολα εγγράφων.
SearchResult result1 = index.search(query1);
system.out.println("Number of occurrences found: " + result1.getDocumentCount());
Περιπτώσεις Χρήσης Φιλτραρίσματος Περιεχομένου με Regex
Μπορείτε να χρησιμοποιήσετε regex για να αποκλείετε ή να σηματοδοτείτε αυτόματα περιεχόμενο που ταιριάζει σε ορισμένα πρότυπα, όπως:
- Ανίχνευση επαναλαμβανόμενων χαρακτήρων για φιλτράρισμα spam
- Εύρεση ακολουθιών τύπου αριθμού πιστωτικής κάρτας για ελέγχους ιδιωτικότητας δεδομένων
- Εξαγωγή ημερομηνιών ή ταυτοτήτων για επεξεργασία downstream
Πρακτικές Εφαρμογές
- Συστήματα Διαχείρισης Εγγράφων: Εντοπίστε συμβάσεις, τιμολόγια ή πολιτικές με βάση το πρότυπο (π.χ., αριθμούς τιμολογίων).
- Διαχείριση Περιεχομένου: Εφαρμόστε κανόνες regex για να διαχειριστείτε κείμενα που δημιουργούν χρήστες σε φόρουμ ή εφαρμογές συνομιλίας.
- Εξαγωγή Δεδομένων: Ανακτήστε δομημένα δεδομένα όπως αριθμούς παραγγελιών από αδόμητα PDFs ή αρχεία Word.
Σκέψεις για την Απόδοση
- Ενημερώσεις Ευρετηρίου: Καλέστε
index.addόποτε αλλάζουν τα αρχεία προέλευσης για να διατηρείτε τα αποτελέσματα ενημερωμένα. - Διαχείριση Μνήμης: Για σώματα δεδομένων που υπερβαίνουν το 1 εκατομμύριο έγγραφα, ενεργοποιήστε την σταδιακή ευρετηρίαση για να διατηρείτε τη χρήση της μνήμης heap υπό έλεγχο.
- Σχεδίαση Regex: Διατηρήστε τα πρότυπα σύντομα· ένα πρότυπο όπως
\d{4}-\d{2}-\d{2}εκτελείται 3× πιο γρήγορα από μια έκφραση με πολλά μπαλαντέρ όπως.*.
Συμπέρασμα
Τώρα γνωρίζετε πώς να κάνετε αναζήτηση με regex στη Java χρησιμοποιώντας το GroupDocs.Search, από την εγκατάσταση της βιβλιοθήκης και τη δημιουργία ευρετηρίου μέχρι την εκτέλεση τόσο ερωτημάτων κειμένου όσο και αντικειμενοστραφών ερωτημάτων. Αυτές οι τεχνικές σας επιτρέπουν να προσθέσετε γρήγορη, προτύπου‑συνειδητή αναζήτηση σε οποιαδήποτε εφαρμογή Java, είτε δημιουργείτε μια πύλη εγγράφων, έναν σαρωτή συμμόρφωσης ή μια γραμμή εξόρυξης δεδομένων.
Συχνές Ερωτήσεις
Q: Ποια είναι η διαφορά μεταξύ ερωτημάτων regex βασισμένων σε κείμενο και ερωτημάτων βασισμένων σε αντικείμενο στο GroupDocs.Search;
A: Τα ερωτήματα βασισμένα σε κείμενο είναι γρήγορα one‑liners, ενώ τα ερωτήματα βασισμένα σε αντικείμενο παρέχουν επαναχρησιμοποιήσιμες, τύπου‑ασφαλείς ορισμούς που μπορούν να αποθηκευτούν και να επαναχρησιμοποιηθούν σε πολλαπλές αναζητήσεις.
Q: Μπορεί το GroupDocs.Search να ευρετηριάσει μη‑κείμενα έγγραφα όπως PDF ή αρχεία Excel;
A: Ναι, η βιβλιοθήκη εξάγει αναζητήσιμο κείμενο από PDF, DOCX, XLSX, PPTX και πάνω από 30 άλλες μορφές.
Q: Πώς ενημερώνω ένα υπάρχον ευρετήριο αναζήτησης μετά την προσθήκη νέων αρχείων;
A: Καλέστε index.add με τα νέα ή τροποποιημένα έγγραφα· η βιβλιοθήκη θα συγχωνεύσει τις αλλαγές χωρίς να ξαναχτίσει ολόκληρο το ευρετήριο.
Q: Ποια είναι τα κοινά προβλήματα κατά τη χρήση regex με το GroupDocs.Search;
A: Πολύ γενικά πρότυπα (π.χ., .*) μπορούν να προκαλέσουν μείωση της απόδοσης, και εσφαλμένες εκφράσεις μπορεί να μην επιστρέψουν αποτελέσματα. Πάντα δοκιμάζετε τα πρότυπα σε ένα δείγμα πρώτα.
Q: Πού μπορώ να βρω πιο προχωρημένα tutorials για το GroupDocs.Search;
A: Επισκεφθείτε την GroupDocs Documentation για αναλυτικούς οδηγούς, αναφορές API και παραδείγματα έργων.
Τελευταία Ενημέρωση: 2026-07-31
Δοκιμάστηκε Με: GroupDocs.Search 25.4
Συγγραφέας: GroupDocs
SearchQuery query2 = SearchQuery.createRegexQuery("^(.)\\1{1,}");
SearchResult result2 = index.search(query2);
system.out.println("Occurrences found using object form: " + result2.getDocumentCount());