Olá pessoal,
Estou iniciando com Hibernate Search, após a leitura de alguns tutoriais. O trecho de código abaixo é a query que estou estudando.
A minha dúvida é a seguinte: como faço para buscar por partes de palavras. No exemplo estou pesquisando por "Baixo" para localizar o registro "Rua de Baixo" e o registro é localizado. Agora, como faço para pesquisar por "Baix" e localizar o registro. Existe algo parecido com o Expression.like do Hibernate que eu possa utilizar?
String text = "Baixo";
String[] fields = new String[] {"rua"};
FullTextSession luceneSession = Search.getFullTextSession(getHibSession());
MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, new StopAnalyzer(BrazilianAnalyzer.BRAZILIAN_STOP_WORDS));
Query luceneQuery = parser.parse(text);
FullTextQuery fullTextQuery = luceneSession.createFullTextQuery(luceneQuery, Endereco.class);
fullTextQuery.setMaxResults(10);
List<Endereco> result = fullTextQuery.list();
System.out.println("Pesquisando por Endereco [" + text + "] \n\t" +
"[" + result.size()+ "] resultados encontrados");
for (Endereco endereco : result) {
System.out.println("\tEvento " + " -> " + endereco.getEvento().getNome());
System.out.println("\t\t" + " -> " + endereco.getRua() + " - " + endereco.getNum() + " - " + endereco.getBairro());
}
Obrigado,
Jean Pierobom