BT

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

por Srini Penchikala , traduzido por Anderson Duarte Vaz em 05 Jan 2009 |

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

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.