Opa pessoal, blz! Eu ando tentando implementar o Hibernate Search usando como base um tutorial da Caelum (http://blog.caelum.com.br/hibernate-search-com-lucene/) só que na hora que eu tento fazer a busca não é gerado nenhum registro na List. Os meus códigos que estou usando são:
Classe TipoEmpresa
@Entity
@Table(name = "EMPRESAS_TIPO")
@Indexed
public class TipoEmpresa {
@Id
@Column(name = "ID", nullable = false)
@SequenceGenerator(name = "EMPRESAS_TIPO_ID", sequenceName = "EMPRESAS_TIPO_ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "EMPRESAS_TIPO_ID")
private int id;
@Column(name = "TIPO", length = 10)
@Field(index=Index.YES,store=Store.YES)
private String tipo;
}
Função que está no DAO:
public List<T> getTesteSearch2(Class<T> classe, String valorBusca,
String colunaBanco) throws ParseException {
Session sessao = factory.openSession();
FullTextSession LuceneSession = Search.getFullTextSession(sessao);
//String[] stopWords = {"de","do","da","dos","das","a","o","na","no","em"};
QueryParser parser = new QueryParser(Version.LUCENE_36,"tipo",new BrazilianAnalyzer(Version.LUCENE_36));
Query LuceneQuery = parser.parse(valorBusca);
FullTextQuery fullTextQuery = LuceneSession.createFullTextQuery(LuceneQuery, classe);
return fullTextQuery.list();
}
Estou usando a versão mais recente do Hibernate Search, que tem de colocar o Version.LUCENE_36 no começo dos parâmetros. Eu teria de implementar mais alguma coisa? Todos os exemplos que eu estou achando nos sites não funcionam, mesmo fazendo as “prováveis” adaptações necessárias. Eu queria implementar uma busca que ignorasse se a palavra é maiúscula/minúscula e os acentos, mas a maioria das soluções usando Criteria não funcionaram direito =S