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.1 traz grandes melhorias Dynamic Search Analyser e Query Time Perfomance

Hibernate Search 3.1 traz grandes melhorias Dynamic Search Analyser e Query Time Perfomance

Favoritos

A última versão do Hibernate Search, um framework open source de consulta nos objetos domínio do grupo Hibernate, recebeu melhorias nos mecanismos de análise de buscas dinâmicas e indexação e também no desempenho no tempo de consulta. O time de desenvolvimento do Hibernate Search anunciou o lançamento da versao 3.1 do framework. A nova versão também inclui funcionalidades como suporte a term vector nas buscas e na criação dos índices dos objetos, acesso pelo escopo do analisador no momento de execução da consulta e acesso ao objeto Results Explanation.

Analyzer Model:

  • TO novo analisador de modelo pode ser configurado declarativamente para uso e criação de funcionalidades como aproximação fonética, aproximação n-gram, busca por sinônimos, filtragem por "stop words", elision correction e busca por caracteres não acentuados.
  • Os analisadores podem ser composto como "tokenizadores" e por um conjunto de filtros usando o componente Apache Solr.
  • Analisadores Dinâmicos: Estes permitem que uma entidade defina qual analisador usar em tempo de execução, o que é útil em aplicações internacionalizadas onde a localidade de uma entidade é diferente de outra.

Indexing:
As melhorias no tempo de indexação são:

  • Melhor controle sobre a indexação manual e escrita do índice (consumo de RAM, non-compound file format flag, etc).
  • Suporte para term verctor e personalização de similaridade.
  • Melhor suporte para replicação de índices grandes.
  • Melhorado tempo de bloqueio e contenção durante a criação/atualização dos índices assim como a redução do número de abertura/fechamento dos mesmos.
  • Os índices agora são criados em paralelo para cada diretório.

Consulta:
Novas funcionalidades foram adicionadas para melhoria no tempo de consulta como as seguintes:

  • Foi exposto o analisador do escopo das entidades para facilitar o reuso e melhorar o tempo de consulta.
  • Filtragem de resultados (DocIdSet) pode ser posto em cache declarativamente.
  • Explanation está exposto para melhor depurar a informação.
  • Reduzido o número de roundtrips ao banco de dados em consulta a múltiplas entidades.
  • As consultas Lucene estão mais rápidas em índices contendo um único tipo de entidade e reduzido o consumo de E/S no Lucene por ler somente o campos necessários de um documento (quando possível).
  • Melhor desempenho em propriedades projetadas (melhoria não percebida se for comparada com chamadas diretas ao Lucene).
  • Redução na leitura de documentos (durante a paginação e nas chamadas do getResultSize()).
  • Reabertura de índices mais rápidas (mantendo segmentos não alterados abertos) e melhor leitura de índice em concorrência (uso do controle de somente leitura).

Emmanuel Bernard blogou sobre o novo lançamento e suas características que ais quais incluem uso do SLF4J como o framework de logging e a migração para versão 2.4 do Lucene, versao 3.3 do Hibernate Core e JDK 5.0. Hibernate Search trabalha em modos não-cluterizados e clusterizados, fornece atualização síncronas e assíncronas de índices, dando a opção de escolher entre tempo de resposta, throughput e atualização. Ele também trabalha com todos tradicionais padrões do Hibernate, especialmente o grande (e atômico) padrão conversacional usado pelo JBoss Seam.

A última versão pode ser baixada no site dele e os logs de mudança estão disponíveis no JIRA. Migrar para essa versão é recomendada para todos os usuários (veja o guia de Migração). O documento road map mostra as novas funcionalidades que o time do Hibernate Search está planejando para futuros lançamentos do framework.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT