BT

Hibernate Search 3.4: Faceted Search, melhorias no cache e atualizações de integração

por Eder Magalhães em 25 Abr 2011 |

A nova versão do Hibernate Search, recentemente lançada, adiciona funcionalidades importantes, como Faceting, FieldCache e a possibilidade de priorizar o uso do cache de segundo nível. Há ainda melhorias de desempenho e uma reorganização no mecanismo de consultas, além da atualização nas dependências do Hibernate Core e do Apache Lucene.

O Hibernate Search é um framework open source para consultas avançadas em objetos de domínio. Traz o poder da pesquisa textual (full-text search) para a camada de persistência, combinando o Hibernate Core com as funcionalidades do Apache Lucene.

Entre as novas funcionalidades do Hibernate Search 3.4, o destaque é o Faceting, uma técnica de categorização também conhecida como faceted search, que divide o resultado de uma pesquisa em múltiplas categorias. No Hibernate Search, essa funcionalidade inclui a contagem dos registros por categoria e a possibilidade de refinar os resultados da pesquisa navegando-se entre as categorias encontradas. É o mesmo conceito de pesquisa utilizado pela Amazon: esta imagem extraída da documentação do projeto mostra um exemplo de busca com faceting na Amazon.com.

Outras novidades da versão 3.4 envolvem alterações na API e em dependências do framework:

  • Foi priorizada a consulta de entidades no cache de segundo nível, no lugar de na base de dados. Nesse trecho da documentação do Hibernate Search há um exemplo de como utilizar a nova funcionalidade.
  • A dependência com a API do Lucene foi atualizada: o Hibernate Search 3.4 passa a utilizar o Apache Lucene 3.1.
  • A engine de consultas do Hibernate Search foi isolada do Hibernate Core. Assim, a engine pode ser utilizada, por exemplo, pelo módulo de consulta do Infinispan

Quanto às melhorias de desempenho, estes são os detalhes: 

  • A reindexação das entidades agora só ocorre quando algum atributo utilizado no índice é modificado. Dessa maneira, uma mudança em um atributo não indexado continua gerando atualização no repositório de dados, via Hibernate Core, mas não aciona a reindexação do Hibernate Search.
  • A funcionalidade MassIndexer, utilizada para reconstruir os índices com diversas threads trabalhando paralelamente, agora também opera com várias threads durante a fase de análise de textos.
  • Na versão 3.4, foi habilitdo o uso de FieldCache para melhorar a desempenho dos índices através do caching do tipo e do identificador da entidade.

No changelog da nova versão, é possível verificar outras pequenas modificações e correções de bugs no framework.

Um detalhe final: o Hibernate Search agora é compatível com o Hibernate Core 3.6; a equipe do Hibernate Search disponibilizou um guia para auxiliar os desenvolvedores a realizarem a migração de versão.

O Hibernate Search 3.4 já está disponível no respositório do Maven e pode também ser obtido via download direto.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT