Olá,
Estou trabalhando com Tomcat, JPA e Hibernate Search com Lucene. Quero fazer um sistema de busca de documentos, onde uma parte do filtro é implementada em Criteria do Hibernate e a outra em Query do Lucene. Gostaria que o resultado da consulta satisfizesse ambos os filtros. Tentei implementar o seguinte código, mas aparentemente apenas o filtro do Lucene surtiu efeito.
Criteria criteria = null;
org.apache.lucene.search.Query luceneQuery = null;
FullTextSession fullTextSession = null;
fullTextSession = Search
.createFullTextSession((Session) getEntityManager().getDelegate());
criteria = fullTextSession.createCriteria(Texto.class);
criteria.add(Expression.ilike("ementa", "%agravo%"));
org.hibernate.Query fullTextQuery = null;
QueryParser parser = null;
String[] stopWords = null;
stopWords = new String[] { "de", "do", "da", "dos", "das", "a",
"o", "na", "no", "em" };
parser = new QueryParser("ementa", new StopAnalyzer(stopWords));
luceneQuery = parser.parse("instrumento");
fullTextQuery = fullTextSession.createFullTextQuery(luceneQuery)
.setCriteriaQuery(criteria);
return fullTextQuery.list();
Alguém pode dar uma luz?