Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako na index a vyhľadávanie PDF v jazyku Java Lucene

Apache Lucene je plnohodnotný textový vyhľadávač knižnica napísaná v Jave . Môžete použiť Lucene na index a vyhľadávanie akejkoľvek textového dokumentu . Ak chcete previesť Portable Document Format ( PDF ) súbor do textového formátu , ktorý Lucene je index , môžete použiť PDFBox triede otvorenej zdroja , ktorý má špeciálne metódy špeciálne pre Lucene . Jednoducho zadajte názov súboru PDF , ktorý PDFBox a získať Lucene objekt dokumentu , ktoré môžu byť pridané do indexu a hľadal , rovnako ako akýkoľvek textový súbor . Pokyny
1

Vyberte analyzátor Lucene použiť pri vytváraní indexu , napr " StandardAnalyzer . " Vytvorenie " IndexWriter " objekt pre spracovanie pridávanie nových položiek do indexu , napr :

IndexWriter myWriter = new IndexWriter ( " index " , nový StandardAnalyzer ( ) , true ) ;
2

Hovor " LucenePDFDocument " dostať Lucene objekt Document vášho súboru PDF . Pridať ďalšie kľúčové pole objektu a pridať objekt do indexu Lucene . Napríklad :

dokumentu pdfdoc = LucenePDFDocument.getDoument ( filename) ;

pdfDoc.add ( nové pole ( " title " , pdf.getTitle ( ) , Field.Store.YES , polia . Index.TOKENIZED ) ) ;

pdfDoc.add ( nové pole ( " autor " , pdf.getAuthor ( ) , Field.Store.YES , Field.Index.TOKENIZED ) ) ;

myWriter . addDocument ( pdfdoc ) ;
3

Použite " vyhľadávaču " triedu hľadať index Lucene . " Vyhľadávači " vracia Lucene " Hits " objekt so zoznamom " hit " objekty . Napríklad :

vyhľadávači Mysearch = new vyhľadávači ( ) ;

Zobrazenie myHits = mySearch.performSearch ( searchText ) ;

System.out.println ( " Dokumenty uzavreté" + myHits.length ( ) ) ;
4

iterovat " Hit " objekty získať viac informácií o každom zápase . " Hit " objekty sú radené podľa relevantnosti k vyhľadávaniu , a môžete tiež získať relatívnu hľadanie skóre s " getScore ( ) . " Napríklad :

iterátor ITR = myHits.iterator ( ) ;

while ( itr.hasNext ( ) ) {

Hit theHit = itr.next ( ) ;

dokumente theDoc = theHit.getDocument ( ) ;

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

}

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené