Alguém poderia me dar um auxilio de como eu posso fazer um tipo de gerenciador de arquivos web, onde pelo campo de pesquisa você digita a palavra-chave e com isso retorna todos os arquivos relacionados aquela palavra, eu tenho uma classe que faz a busca do arquivo pela palavra-chave, porém, não sei como fazer para que o usuário ao pesquisar consiga visualizar os arquivos em um jsp/servlet.
Estou utilizando apache lucene para fazer a busca dos arquivos.
buscador.java
public class Buscador {
private static Logger logger = Logger.getLogger(Buscador.class);
private String diretorioDoIndice = System.getProperty("user.home")
+ "/lucene/indice-lucene-web";
public void buscaComParser(String parametro) {
try {
Directory diretorio = new SimpleFSDirectory(new File(
diretorioDoIndice));
// {1} IndexReader: classe abstrata responsável por acessar o índice;
IndexReader leitor = DirectoryReader.open(diretorio);
// {2} IndexSearcher: implementa os métodos necessários para realizar buscas em um índice;
IndexSearcher buscador = new IndexSearcher(leitor);
Analyzer analisador = new StandardAnalyzer(Version.LUCENE_48);
// {3} QueryParser/Query: representa a consulta do usuário. Outros exemplos de query podem ser vistos no Javadoc;
QueryParser parser = new QueryParser(Version.LUCENE_48, "Texto",
analisador);
Query consulta = parser.parse(parametro);
long inicio = System.currentTimeMillis();
// {4} Realiza a busca e armazena o resultado em um TopDocs;
TopDocs resultado = buscador.search(consulta, 100);
long fim = System.currentTimeMillis();
int totalDeOcorrencias = resultado.totalHits;
logger.info("Total de documentos encontrados:" + totalDeOcorrencias);
logger.info("Tempo total para busca: " + (fim - inicio) + "ms");
// {5} ScoreDoc: representa cada um dos documentos retornados na busca.
for (ScoreDoc sd : resultado.scoreDocs) {
Document documento = buscador.doc(sd.doc);
logger.info("Caminho:" + documento.get("Caminho"));
logger.info("Ultima modificacao:"
+ documento.get("UltimaModificacao"));
logger.info("Score:" + sd.score);
logger.info("--------");
}
leitor.close();
} catch (Exception e) {
logger.error(e);
}
}
public static void main(String[] args) {
Buscador b = new Buscador();
String parametro = JOptionPane.showInputDialog("Consulta");
b.buscaComParser(parametro);
}
}