Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr… Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
Amigo, no tribunal que trabalho usamos o Hibernate Search (e uma versão antiga) numa tabela com cerca de 4,1 milhões de registros. O único campo indexado tem em média de 7 palavras e ainda usamos um dispositivo de consulta fonética fora a parte do Hibernate Search.
Resultado: buscas com 2 palavras levam até menos de 0,2s em alguns casos. Buscas muito comuns, como “Maria Silva”, por exemplo, levam cerca de 10s.
Quando usávamos uma base de testes com “apenas” 500k registros, as buscas nunca levavam mais de 2s (as com nomes bem comuns, como “silva”, por exemplo) mas a maioria da buscas batia na casa dos 0,2s.
AUser
jyoshiriro:
Olá.
Amigo, no tribunal que trabalho usamos o Hibernate Search (e uma versão antiga) numa tabela com cerca de 4,1 milhões de registros. O único campo indexado tem em média de 7 palavras e ainda usamos um dispositivo de consulta fonética fora a parte do Hibernate Search.
Resultado: buscas com 2 palavras levam até menos de 0,2s em alguns casos. Buscas muito comuns, como “Maria Silva”, por exemplo, levam cerca de 10s.
Quando usávamos uma base de testes com “apenas” 500k registros, as buscas nunca levavam mais de 2s (as com nomes bem comuns, como “silva”, por exemplo) mas a maioria da buscas batia na casa dos 0,2s.
Opa,
Mas nessa busca vcs limitavam a quatnidade maxima do retorno ou o que viesse tava valendo? Vcs chegaram a pensar em usar o Solr?
[]'s!
Victor_Neves
os números podem enganar, se lembrarmos que hardware interfere fortemente…
jyoshiriro
Sem limitação. O tempo a qual me referi é o da busca indexada e não do retorno da tupla. Se pegar uma tupla de 1000 linhas com 10 campos grandes, nem com lucene nem nenhuma outra tecnologia fará o retorno ser rápido.
Não. Daria muito trabalho. Você se refere à parte fonética? Bem, o Solr foi um fracasso para nosso idioma (pt BR). Só cola mesmo pra idioma americano ao que parece.
Realmente, o hardware em questão é muito bom, mas não acredito que não seja “top de linha”.
Amigo, de boa: é muito rápido que vc configura o Hib Search. Faz um teste de carga ai que em 1 dia você saberá se essa solução irá valer a pena no teu caso
Aqui usamos o JMeter para atestar a alta performance em nosso contexto.
Marcio_Nogueira
O mercado utiliza o hibernate como framework de persistência e padrão altamente difundido.
Victor_Neves
já aproveitando o tópico… alguem pode deixar aqui (para os proximos que procurarem por assuntos relacionados a banco de dados orientado a coluna) o link de download pro BigTable!
eu ja procurei mas nao achei… =/
ja fui no googleCode e nao achei, no googleLabs e nao achei… se alguem souber o link posta ae!
vlw
AUser
jyoshiriro:
Sem limitação. O tempo a qual me referi é o da busca indexada e não do retorno da tupla. Se pegar uma tupla de 1000 linhas com 10 campos grandes, nem com lucene nem nenhuma outra tecnologia fará o retorno ser rápido.
Não. Daria muito trabalho. Você se refere à parte fonética? Bem, o Solr foi um fracasso para nosso idioma (pt BR). Só cola mesmo pra idioma americano ao que parece.
Realmente, o hardware em questão é muito bom, mas não acredito que não seja “top de linha”.
Amigo, de boa: é muito rápido que vc configura o Hib Search. Faz um teste de carga ai que em 1 dia você saberá se essa solução irá valer a pena no teu caso
Aqui usamos o JMeter para atestar a alta performance em nosso contexto.
Opa,
O problema eh que eu nao vou persistir um pojo do Hibernate, em si. Ele contem apenas alguns dos atributos, a entidade que iria para o index seria uma mistura de outras entidades, de acordo com parametros especificos (e dai parte a dificuldade de regular parametros que alteram em runtime e annotations). O teste de carga que to querendo eh meio absurdo, nao eh tao facil assim p/ fazer.
Sobre a pesquisa fonetica, eu nem to pensando sobre isso ainda. Eu to pensando eh na normal mesmo…
[]'s!
jyoshiriro
Ah, tá.
Bem, nesse caso acredito que é melhor você usar o lucene mesmo.
Achei que já existisse um Hibernate configurado ai pra você
Ah, e quanto ao BigTable, posso estar enganado, mas acho que não se “baixa” e sim se usa ele online sempre.
Leozin
bom, se o que você está indexando é uma entidade gerenciada pelo hibernate, então user o hibernate-search (que por debaixo dos panos, utiliza o lucene)
se tu precisa de mais detalhes, negócios mais hardcore etc, use o lucene
deniswsrosa
AUser:
Bom dia srs.,
Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr… Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
AUser
deniswsrosa:
AUser:
Bom dia srs.,
Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr… Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
Mas uma coisa que me preocupa eh a questao http do solr. Eu ja indexei pelo lucene direto, usando http, e achei lento que so o cao. E se eu precisasse reconstruir o indice, por exemplo? Esse eh o problema… Eu to procurando benchmarks aqui e nao to achando.
[]s!
deniswsrosa
AUser:
deniswsrosa:
AUser:
Bom dia srs.,
Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr… Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
Mas uma coisa que me preocupa eh a questao http do solr. Eu ja indexei pelo lucene direto, usando http, e achei lento que so o cao. E se eu precisasse reconstruir o indice, por exemplo? Esse eh o problema… Eu to procurando benchmarks aqui e nao to achando.
Benchmarks em si eu tb não tenho, mas o nosso sistema está rodando em producão com ele.
fabioebner
Pessoal estou com 2 problemas.
1 - não consigo gerar o meu indice logo no iniciar da aplicacao (spring + hibernate + search), hoje tive que fazer uma funcao que chamo sempre que inicio a aplicacao
2 - sempre que paro o tomcat sou obrigado a gerar o indice novamente. tem como resolver isso?