Επισήμανση κειμένου java με GroupDocs.Search
Σε σύγχρονες επιχειρηματικές εφαρμογές, highlight text java είναι απαραίτητη για τη μετατροπή των ακατέργαστων αποτελεσμάτων αναζήτησης σε άμεσα αναγνώσιμα insights. Είτε δημιουργείτε μια πύλη νομικής ανασκόπησης, μια μηχανή ακαδημαϊκής έρευνας ή έναν πίνακα ελέγχου εξυπηρέτησης πελατών, η δυνατότητα εντοπισμού και οπτικής επισήμανσης των όρων ερωτήματος εξοικονομεί στους χρήστες αμέτρητα δευτερόλεπτα χειροκίνητης σάρωσης. Αυτό το tutorial δείχνει πώς να χρησιμοποιήσετε το GroupDocs.Search for Java για search documents java, index documents java, και να εφαρμόσετε τόσο επισήμανση ολόκληρου εγγράφου όσο και σε επίπεδο τμημάτων, όλα με λίγες μόνο γραμμές κώδικα.
Γρήγορες απαντήσεις
- Τι σημαίνει “search and highlight text”; Σημαίνει τον εντοπισμό των όρων αναζήτησης μέσα σε ένα έγγραφο και την οπτική τους επισήμανση (π.χ., με χρωματιστό φόντο).
- Ποια βιβλιοθήκη παρέχει αυτή τη δυνατότητα; GroupDocs.Search for Java.
- Χρειάζομαι άδεια; Μια δωρεάν δοκιμή λειτουργεί για αξιολόγηση· απαιτείται πλήρης άδεια για παραγωγική χρήση.
- Μπορώ να προσαρμόσω τα χρώματα επισήμανσης; Ναι—οποιοδήποτε χρώμα RGB μπορεί να οριστεί μέσω του
HighlightOptions. - Υποστηρίζεται η επισήμανση fragment; Απόλυτα· μπορείτε να ορίσετε όρους πριν/μετά το ταίριασμα για τη δημιουργία σύντομων αποσπασμάτων.
Πώς να επισημάνετε κείμενο java σε έγγραφα
Για να επισημάνετε κείμενο java σε έγγραφα, πρώτα δημιουργήστε ένα ευρετήριο των αρχείων προέλευσης χρησιμοποιώντας τις κατάλληλες ρυθμίσεις συμπίεσης, στη συνέχεια εκτελέστε ένα ερώτημα αναζήτησης για να εντοπίσετε τους επιθυμητούς όρους και τέλος εξάγετε τα αποτελέσματα σε HTML, PDF ή απλό κείμενο με κάθε ταίριασμα τυλιγμένο σε ετικέτα επισήμανσης. Αυτή η διαδικασία τριών βημάτων εξασφαλίζει γρήγορη, ακριβή επισήμανση σε μεγάλες συλλογές.
- Δημιουργήστε ένα ευρετήριο με ρυθμίσεις συμπίεσης που διατηρούν το αποθηκευτικό αποτύπωμα χαμηλό.
- Εκτελέστε μια αναζήτηση χρησιμοποιώντας τη συμβολοσειρά ερωτήματος που θέλετε να επισημάνετε.
- Δημιουργήστε έξοδο (HTML, PDF ή απλό κείμενο) όπου κάθε εμφάνιση του όρου ερωτήματος τυλίγεται σε ετικέτα επισήμανσης.
Τι είναι η αναζήτηση και επισήμανση κειμένου;
Η αναζήτηση και επισήμανση κειμένου είναι η διαδικασία σάρωσης μιας ευρετηριασμένης συλλογής για ένα δεδομένο ερώτημα, ανάκτησης των ταιριαστών εγγράφων και στη συνέχεια σήμανσης κάθε εμφάνισης του όρου ερωτήματος μέσα στην έξοδο (HTML, PDF κ.λπ.). Αυτό το οπτικό σήμα βοηθά τους τελικούς χρήστες να εντοπίζουν σχετικές πληροφορίες αμέσως.
Γιατί να χρησιμοποιήσετε το GroupDocs.Search for Java;
Το GroupDocs.Search for Java προσφέρει υψηλής απόδοσης ευρετηρίαση (έως 50 GB ανά ευρετήριο με Compression.High), πλούσια επισήμανση που λειτουργεί σε ολόκληρα έγγραφα και προσαρμοσμένα τμήματα, και υποστήριξη διαφόρων μορφών για πάνω από 30 τύπους αρχείων—συμπεριλαμβανομένων DOCX, PDF, PPTX και TXT. Η βιβλιοθήκη παρέχει επίσης αυξητική ευρετηρίαση, επιτρέποντας την προσθήκη νέων αρχείων χωρίς επαναδημιουργία ολόκληρου του ευρετηρίου, μειώνοντας το χρόνο διακοπής λειτουργίας έως και 80 % σε μεγάλης κλίμακας υλοποιήσεις.
Προαπαιτούμενα
- Java Development Kit (JDK) 8 ή νεότερο.
- Maven για διαχείριση εξαρτήσεων.
- Ένα IDE όπως το IntelliJ IDEA ή το Eclipse.
- Βασική εξοικείωση με τη σύνταξη της Java.
Ρύθμιση του GroupDocs.Search for Java
Προσθέστε το αποθετήριο GroupDocs και την εξάρτηση στο pom.xml σας:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
Μπορείτε επίσης να κατεβάσετε το πιο πρόσφατο JAR απευθείας από την επίσημη ιστοσελίδα: GroupDocs.Search for Java releases.
Απόκτηση άδειας
Ξεκινήστε με μια δωρεάν δοκιμή ή αποκτήστε προσωρινή άδεια για αξιολόγηση. Για παραγωγικές εγκαταστάσεις, αγοράστε πλήρη άδεια για να ξεκλειδώσετε όλες τις δυνατότητες.
Οδηγός υλοποίησης
Η υλοποίηση χωρίζεται σε δύο πρακτικές ενότητες: επισήμανση σε ολόκληρα έγγραφα και επισήμανση σε τμήματα. Και οι δύο ενότητες περιλαμβάνουν τα απαραίτητα βήματα για πώς να επισημάνετε Java έγγραφα χρησιμοποιώντας το GroupDocs.Search.
Διαμόρφωση ρυθμίσεων ευρετηρίου
Πριν την ευρετηρίαση, διαμορφώστε την αποθήκευση ώστε να χρησιμοποιεί υψηλή συμπίεση—αυτό μειώνει τη χρήση δίσκου έως και 70 % διατηρώντας την ταχύτητα αναζήτησης.
IndexSettings είναι το αντικείμενο διαμόρφωσης που ελέγχει πώς αποθηκεύεται το ευρετήριο στο δίσκο. Ορίστε Compression σε Compression.High για να ενεργοποιήσετε αυτή τη βελτιστοποίηση.Compression καθορίζει το επίπεδο συμπίεσης των δεδομένων που εφαρμόζεται στα αρχεία του ευρετηρίου, με το Compression.High να παρέχει τη μέγιστη μείωση μεγέθους.
Επισήμανση σε ολόκληρα έγγραφα
Βήμα 1: δημιουργία και συμπλήρωση του ευρετηρίου
Δημιουργήστε έναν φάκελο ευρετηρίου και προσθέστε όλα τα αρχεία προέλευσης που θέλετε να αναζητήσετε. Η κλάση Index αντιπροσωπεύει το ευρετήσιμο κοντέινερ.
Βήμα 2: εκτέλεση αναζήτησης και εφαρμογή επισήμανσης
Αναζητήστε τον όρο (π.χ., ipsum) και δημιουργήστε ένα αρχείο HTML με επισημασμένα ταιριάσματα. Χρησιμοποιήστε το HighlightOptions για να καθορίσετε το χρώμα επισήμανσης και αν θα χρησιμοποιηθούν ενσωματωμένα στυλ.
HighlightOptions επιτρέπει τον ορισμό των χρωμάτων προσκηνίου και φόντου, καθώς και της κλάσης CSS που θα εφαρμοστεί σε κάθε επισημασμένο όρο.
HtmlHighlighter δημιουργεί έξοδο HTML με επισημασμένους όρους βάσει των παρεχόμενων επιλογών.SearchResult περιέχει τη λίστα των ταιριασμένων εγγράφων και τις θέσεις κάθε ευρέσματος.
Direct answer: Φορτώστε το ευρετήριό σας, καλέστε search("ipsum") και περάστε το προκύπτον SearchResult μαζί με ένα ρυθμισμένο αντικείμενο HighlightOptions στον HtmlHighlighter. Ο highlighter επιστρέφει HTML όπου κάθε εμφάνιση του “ipsum” τυλίγεται σε <span> με το επιλεγμένο χρώμα φόντου.
Κύριες επιλογές εξηγημένες
- Compression – η υψηλή συμπίεση εξοικονομεί χώρο αποθήκευσης.
- HighlightColor – ορίστε οποιαδήποτε τιμή RGB για να ταιριάζει με την παλέτα UI σας.
- UseInlineStyles –
falseδημιουργεί καθαρό HTML που μπορεί να στιλιζαριστεί παγκοσμίως με CSS.
Επισήμανση σε τμήματα
Βήμα 1: ευρετήριο και αναζήτηση (όπως παραπάνω)
Τα ίδια βήματα ευρετηρίου και αναζήτησης εφαρμόζονται· επαναχρησιμοποιείτε τα αντικείμενα Index και SearchResult.
Βήμα 2: ορισμός πλαισίου τμήματος και επισήμανση
Καθορίστε πόσοι όροι πριν και μετά το ταίριασμα πρέπει να εμφανίζονται σε κάθε τμήμα με το FragmentOptions.
FragmentOptions ελέγχει τον αριθμό των περιβάλλοντων λέξεων (termsBefore και termsAfter) που περιλαμβάνονται σε κάθε απόσπασμα, επιτρέποντάς σας να ισορροπήσετε το πλαίσιο με το μήκος του αποσπάσματος.
Βήμα 3: ανάκτηση και εγγραφή επισημασμένων τμημάτων
Συλλέξτε τα παραγόμενα τμήματα και γράψτε τα σε αρχείο HTML. Κάθε τμήμα είναι ήδη επισημασμένο σύμφωνα με τις HighlightOptions που διαμορφώσατε.
fragmentHighlighter είναι μια βοηθητική λειτουργία που δημιουργεί επισημασμένα αποσπάσματα από ένα SearchResult χρησιμοποιώντας τις καθορισμένες επιλογές τμήματος και επισήμανσης.
Direct answer: Αφού λάβετε το SearchResult, καλέστε fragmentHighlighter.highlight(searchResult, fragmentOptions, highlightOptions). Η μέθοδος επιστρέφει μια λίστα HTML αποσπασμάτων, το καθένα περιέχει τον ταιριασμένο όρο περιτριγυρισμένο από τον καθορισμένο αριθμό λέξεων πλαισίου και επισημασμένο με το επιλεγμένο χρώμα.
Πρακτικές εφαρμογές
- Legal document review – επισημάνετε άμεσα νόμους, άρθρα ή αναφορές υποθέσεων σε χιλιάδες συμβάσεις.
- Academic research – εντοπίστε βασική ορολογία σε δεκάδες PDF και αρχεία Word, μειώνοντας τον χρόνο ανασκόπησης της βιβλιογραφίας έως και 60 %.
- Customer support – εντοπίστε αριθμούς παραγγελιών ή κωδικούς σφάλματος σε ιστορικά αιτημάτων, επιτρέποντας στους πράκτορες να επιλύουν προβλήματα πιο γρήγορα.
Σκέψεις απόδοσης
- Index size – η υψηλή συμπίεση (
Compression.High) μειώνει το αποτύπωμα δίσκου έως και 70 % χωρίς αισθητό αντίκτυπο στην καθυστέρηση. - Fragment context – μεγαλύτερες τιμές
termsBefore/Afterβελτιώνουν την αναγνωσιμότητα των αποσπασμάτων αλλά μπορεί να προσθέσουν 10–15 ms ανά ερώτημα. - Memory management – παρακολουθείτε τη μνήμη heap της JVM όταν ευρετοποιείτε μεγάλες συλλογές· εξετάστε την αυξητική ευρετηρίαση για σύνολα δεδομένων άνω των 2 GB ώστε η χρήση μνήμης να παραμένει κάτω από 1 GB.
Συχνά προβλήματα και λύσεις
- Indexing errors – επαληθεύστε τις διαδρομές αρχείων και βεβαιωθείτε ότι η εφαρμογή έχει δικαιώματα ανάγνωσης/εγγραφής στον φάκελο του ευρετηρίου.
- No highlights appear – βεβαιωθείτε ότι το
UseInlineStylesταιριάζει με τη μορφή εξόδου (HTML vs. PDF). - Color not applied – ελέγξτε ότι οι τιμές RGB είναι εντός του εύρους 0‑255 και ότι ο προβολέας σέβεται το ενσωματωμένο CSS ή την παρεχόμενη κλάση CSS.
Συχνές ερωτήσεις
Q: What are the benefits of using GroupDocs.Search for Java?
A: Παρέχει γρήγορη, κλιμακώσιμη ευρετηρίαση, προσαρμόσιμη επισήμανση και υποστήριξη για πάνω από 30 μορφές εγγράφων, επεξεργαζόμενος αρχεία 500 σελίδων σε λιγότερο από 2 δευτερόλεπτα σε τυπικό διακομιστή.
Q: How can I integrate GroupDocs.Search with a REST API?
A: Εκθέστε τις μεθόδους αναζήτησης και επισήμανσης μέσω ελεγκτών Spring Boot, επιστρέφοντας αποσπάσματα HTML ή φορτία JSON που περιέχουν τα επισημασμένα τμήματα.
Q: Does the library handle password‑protected files?
A: Ναι—παρέχετε τον κωδικό πρόσβασης όταν προσθέτετε το έγγραφο στο ευρετήριο μέσω addDocument(filePath, password).
Q: Can I customize the highlight markup beyond color?
A: Απόλυτα· μπορείτε να ορίσετε κλάση CSS με options.setCssClass("myHighlight") και να τη στιλιζάρετε παγκοσμίως, ή να τροποποιήσετε το παραγόμενο HTML μετά την επισήμανση.
Q: What version was tested for this guide?
A: Ο κώδικας επαληθεύτηκε ενάντια στο GroupDocs.Search 25.4.
Q: How do I set highlight options java to use a CSS class instead of inline styles?
A: Καλέστε options.setUseInlineStyles(false) και ορίστε έναν κανόνα CSS για την κλάση που αναθέτετε μέσω options.setCssClass("myHighlight").
Q: Is there a way to highlight terms in PDF output directly?
A: Ναι—το GroupDocs.Search λειτουργεί με είσοδο PDF, και ο highlighter εξάγει HTML που μπορεί να ενσωματωθεί σε προβολέα PDF ή να μετατραπεί ξανά σε PDF χρησιμοποιώντας το GroupDocs.Conversion.
Last updated: 2026-09-27
Tested with: GroupDocs.Search 25.4
Author: GroupDocs
<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>
IndexSettings settings = new IndexSettings();
settings.setTextStorageSettings(new TextStorageSettings(Compression.High));
String indexFolder = "/path/to/your/document/directory/HighlightingInEntireDocument";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0);
OutputAdapter outputAdapter = new FileOutputAdapter(OutputFormat.Html, "/path/to/your/output/directory/Highlighted.html");
Highlighter highlighter = new DocumentHighlighter(outputAdapter);
HighlightOptions options = new HighlightOptions();
options.setHighlightColor(new Color(150, 255, 150)); // Custom green shade
options.setUseInlineStyles(false); // Prefer CSS for styling
index.highlight(document, highlighter, options);
}
String indexFolder = "/path/to/your/document/directory/HighlightingInFragments";
Index index = new Index(indexFolder, settings);
index.add("/path/to/your/documents");
SearchResult result = index.search("ipsum");
HighlightOptions options = new HighlightOptions();
options.setTermsBefore(5); // Include 5 terms before the match
options.setTermsAfter(5); // Include 5 terms after the match
options.setHighlightColor(new Color(127, 200, 255)); // Custom blue shade
options.setUseInlineStyles(true); // Use inline styles for emphasis
FoundDocument document = result.getFoundDocument(0);
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.Html);
index.highlight(document, highlighter, options);
StringBuilder stringBuilder = new StringBuilder();
FragmentContainer[] fragmentContainers = highlighter.getResult();
for (FragmentContainer container : fragmentContainers) {
String[] fragments = container.getFragments();
if (fragments.length > 0) {
stringBuilder.append("\n<br>").append(container.getFieldName()).append("<br>\n");
for (String fragment : fragments) {
stringBuilder.append(fragment).append("\n");
}
}
}
try {
Files.write(Paths.get("/path/to/your/output/directory/Fragments.html"), stringBuilder.toString().getBytes());
} catch (IOException ex) {
// Handle exceptions
}