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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.