Olá pessoal, gostaria de saber se alguem ja utilizou o hibernate search e conseguir passar para a consulta multiplos parametros de busca.
Fazer a consulta passando apenas um termo esta tranquilo, o que queria era buscar em mais de um campo para limitar os resultados, hj devolvo a lista e por exemplo para retirar os arquivos marcados como deletados preciso percorrer a lista e remover na mão cada um destes itens, isto esta gerando um processamento que a meu ver é desnecessario, pois creio que seja possivel buscar passando mais de um termo e valor para a busca do hibernate search.
ex. da busca que realizo hj:
private FullTextQuery montarQuery(String termo) throws ParseException {
// define o peso de cada campo indexado
Map<String, Float> pesoPorCampo = new HashMap<String, Float>();
pesoPorCampo.put("descricao", 4f);
pesoPorCampo.put("tipoDocumento.descricao", 1f);
pesoPorCampo.put("tags.descricao", 2f);
pesoPorCampo.put("atributos.valor", 2f);
pesoPorCampo.put("atributos.valorSemMascara", 2f);
// define os campos de pesquisa
String[] campos = { "descricao", "tipoDocumento.descricao", "tags.descricao", "atributos.valor", "atributos.valorSemMascara" };
QueryParser parser = new MultiFieldQueryParser(campos, new SimpleAnalyzer(), pesoPorCampo);
parser.setAllowLeadingWildcard(true);
org.apache.lucene.search.Query luceneQuery;
// TODO parametrizar grau de similaridade na busca de documentos
luceneQuery = parser.parse(termo + "~0.7");
return ((FullTextEntityManager) em).createFullTextQuery(luceneQuery, Documento.class);
}
Alguém poderia me dar um help quanto a isto?
Grato por toda a ajuda.
[]'s