Buenas Tardes a todos !! :D
Estoy haciendo un buscador con el motor de Lucene para buscar en páginas web, pero no consigo crear el filtro para quitar las etiquetas del lenguaje de html (como por ejemplo <body>)
En el indexador he usado la clase HTMLDocument de la libreria de Lucene.demos de esta forma:
Código:
private static void indexFile(IndexWriter writer, File f)
throws IOException {
if (f.isHidden() || !f.exists() || !f.canRead()) {
return;
}
//muestra un mensaje en la salida estandar del archivo que va a indexar
System.out.println("Indexing " + f.getCanonicalPath());
//
//HTMLDocument
Document doc = null;
try {
doc = HTMLDocument.Document(f);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//indexa el archivo
doc.add(new Field("contents", new FileReader(f)));//contenido del archivo
doc.add(new Field("filename", f.getCanonicalPath(), Field.Store.YES, Field.Index.TOKENIZED));//UN_TOKENIZED //nombre del archivo
//doc.add(new Field("filename", new StringReader(f.getCanonicalPath())));
writer.addDocument(doc);
}
Esto me deberia filtrar los documentos a la hora de indexarlos pero no lo consigo.
Sabeis si me faltaria algo mas?
Muchas gracias.