Apache Lucene es un motor de búsqueda de texto de la biblioteca con todas las funciones escritas en Java. Usted puede utilizar Lucene para indexar y buscar cualquier tipo de documento de texto. Para convertir un formato de documento portátil (PDF) en un formato de texto que puede Lucene índice , puede utilizar la clase de código abierto PDFBox que tiene métodos especiales específicamente para Lucene. Sólo es necesario que el nombre del archivo PDF a PDFBox y obtener un objeto del documento Lucene que se puede agregar al índice y buscó al igual que cualquier archivo de texto. Instrucciones
1
Seleccione un analizador de Lucene para utilizar en la creación del índice, por ejemplo, " StandardAnalyzer . " Crear un objeto " IndexWriter " para manejar la adición de nuevos elementos en el índice , por ejemplo :
IndexWriter myWriter = new IndexWriter ( "index" , nuevo StandardAnalyzer () , true) ;
2 < p > Llamada " LucenePDFDocument " para obtener un objeto de documento Lucene de su archivo PDF . Agregar otros campos clave para el objeto y agregar el objeto con el índice de Lucene. Por ejemplo :
Documento PDFDoc = LucenePDFDocument.getDoument (filename ) ;
pdfDoc.add ( nueva Field ( "title" , pdf.getTitle (), Field.Store.YES , Campo . Index.TOKENIZED ));
pdfDoc.add ( nueva Field ( "autor " , pdf.getAuthor (), Field.Store.YES , Field.Index.TOKENIZED ));
myWriter . addDocument ( PDFDoc ) ;
3
Utilice la clase " buscadores " para buscar el índice de Lucene. " Buscadores " devuelve un objeto Lucene " Hits" con una lista de objetos " Hit " . Por ejemplo :
buscadores Mysearch = new buscadores ();
Impactos myHits = mySearch.performSearch ( buscarTexto ) ;
System.out.println ( " Documentos encontrados: " + myHits.length ());
4
Iterar a través de los objetos " éxito" para obtener más información acerca de cada partido . Los objetos " éxito" se ordenan por relevancia en la búsqueda , y también se puede obtener la puntuación de búsqueda en relación con " getScore (). " Por ejemplo :
Iterator ITR = myHits.iterator ();
while ( itr.hasNext ()) {
Hit theHit = itr.next () ;
documento theDoc = theHit.getDocument ();
System.out.println ( theDoc.get ( "title" ) + " - " + theHit.getScore ()); < br >
}