λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> Portable Document Format

Πώς να Index & Αναζήτηση ένα PDF σε Java με Lucene

Apache Lucene είναι ένα πλήρως εξοπλισμένο βιβλιοθήκη μηχανή αναζήτησης κείμενο γραμμένο σε Java . Μπορείτε να χρησιμοποιήσετε το Lucene στο ευρετήριο και να αναζητήσετε κάθε είδους έγγραφο κειμένου . Για να μετατρέψετε μια μορφή Portable Document Format ( PDF ) αρχείο σε μορφή κειμένου που μπορεί να Lucene ευρετήριο , μπορείτε να χρησιμοποιήσετε το PDFBox ανοικτή κατηγορία πηγή η οποία έχει ειδικές μεθόδους ειδικά για Lucene . Απλά δώστε το όνομα του αρχείου PDF σε PDFBox και να πάρει ένα αντικείμενο εγγράφου του Lucene που μπορούν να προστεθούν στο ευρετήριο και αναζήτηση ακριβώς όπως οποιοδήποτε αρχείο κειμένου . Οδηγίες

1

Επιλέξτε έναν αναλυτή Lucene να χρησιμοποιήσει για τη δημιουργία του δείκτη , για παράδειγμα, " StandardAnalyzer . " Δημιουργήστε μια " IndexWriter " αντικείμενο για να χειριστεί την προσθήκη νέων στοιχείων στο ευρετήριο , για παράδειγμα :

IndexWriter myWriter = νέα IndexWriter ( «δείκτης» , νέο StandardAnalyzer ( ) , αλήθεια)? 2

Κλήση " LucenePDFDocument " για να πάρετε μια Lucene αντικείμενο εγγράφου του αρχείου PDF . Προσθήκη άλλους βασικούς τομείς με το αντικείμενο και να προσθέσετε το αντικείμενο με το δείκτη Lucene . Για παράδειγμα :

έγγραφο pdfDoc = LucenePDFDocument.getDoument ( όνομα αρχείου) ?

PdfDoc.add ( νέο πεδίο ( «τίτλος» , pdf.getTitle ( ) , Field.Store.YES , Field. Index.TOKENIZED ) ) ?

pdfDoc.add ( νέο πεδίο ( "συγγραφέας " , pdf.getAuthor ( ) , Field.Store.YES , Field.Index.TOKENIZED ) ) ?

myWriter . addDocument ( pdfDoc ) ?
εικόνων 3

Χρησιμοποιήστε την κλάση " SearchEngine " για την αναζήτηση στο ευρετήριο Lucene . " SearchEngine " επιστρέφει ένα Lucene " Επισκέψεις " αντικείμενο με μια λίστα "Hit " αντικείμενα . Για παράδειγμα :

SearchEngine Mysearch = νέα SearchEngine ( ) ?

Hits myHits = mySearch.performSearch ( SearchText ) ?

System.out.println ( " Έγγραφα ταιριάζουν : " + myHits.length ( ) ) ?
Η 4

επαναλάβει μέσω του " Hit " αντικείμενα για να πάρετε περισσότερες πληροφορίες σχετικά με την κάθε αγώνα . Το "Hit " τα αντικείμενα με εντολή ενδιαφέρον για την έρευνα , και μπορείτε επίσης να αποκτήσετε τη σχετική βαθμολογία αναζήτηση με " getScore ( ) . " Για παράδειγμα :

Iterator itr = myHits.iterator ( ) ?

Ενώ ( itr.hasNext ( ) ) {

Hit theHit = itr.next ( ) ?

έγγραφο theDoc = theHit.getDocument ( ) ?

System.out.println ( theDoc.get ( "title" ) + " - " + theHit.getScore ( ) ) ?

}
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα