BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Hibernate Search 3.4: Faceted Search, melhorias no cache e atualizações de integração

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

Favoritos

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.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT