Erro com o Hibernate Search [Resolvido]

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

Eu consegui resolver o meu problema com algumas modificações simples. Decidi postar abaixo o código já alterado para ajudar outras pessoas que tenham o mesmo problema. Lembrando que a busca pega o início da palavra, buscando todas as opções (que “comece com”). Ainda devo analisar os impactos de usar esse tipo de estratégia, e pelo que eu li ontem em diversos fóruns, os programadores gostam de usar o Lucene e tem inclusive casos de uso com “milhões de registros” que fazem buscas mais rápidas (tendo um hardware decente).

Classe TipoEmpresa (gets e sets omitidos):

[code]@Indexed
@Entity
@Table(name = “EMPRESAS_TIPO”)
@Analyzer(impl = BrazilianAnalyzer.class)
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;

@Field(name = "tipo", index = Index.YES, analyze = Analyze.YES, store = Store.YES)
@Column(name = "TIPO", length = 10)
private String tipo;

}[/code]

A função de busca (que gera um List que pode ser usado em tabelas usando TableModels). Repare que eu uso o “*” no final do parser, para pesquisar pelo termo que está no começo. Sem ele, acaba pegando só o mesmo valor (mas acredito que possa acabar buscando mais valores com o mesmo termo, mas devo testar depois):

[code]public List getTesteSearch2(Class classe, String valorBusca,
String colunaBanco) throws ParseException {
Session sessao = factory.openSession();

	String searchQuery = valorBusca;
    QueryParser parser = new QueryParser(Version.LUCENE_36,colunaBanco, new BrazilianAnalyzer(Version.LUCENE_36));
    org.apache.lucene.search.Query luceneQuery;
    try {
        luceneQuery = parser.parse(colunaBanco + ":" + valorBusca + "*");
    }
    catch (ParseException e) {
        throw new RuntimeException("Unable to parse query: " + searchQuery, e);
    }
    FullTextSession ftSession = Search.getFullTextSession((sessao));
    org.hibernate.Query query = ftSession.createFullTextQuery(luceneQuery);

	return query.list();

}[/code]

Os fontes acima são adaptações das dicas que peguei nos links à seguir:
http://www.querydsl.com/static/querydsl/2.2.0/reference/html/ch02s05.html
https://forum.hibernate.org/viewtopic.php?f=9&t=1004199