Pesquisando bilhões de documentos em milésimos de segundo

30
Pesquisando Bilhões de documentos em milésimos de segundo. Hermano Soares

description

Apresentação Realizada no Cotemig na semana da computação em 2011. Pesquisando Bilhões de Documentos em Milésimos de Segundo usando Apache Solr.

Transcript of Pesquisando bilhões de documentos em milésimos de segundo

Page 1: Pesquisando bilhões de documentos em milésimos de segundo

Pesquisando Bilhões de documentos em milésimos de segundo.

Hermano Soares

Page 2: Pesquisando bilhões de documentos em milésimos de segundo

Agenda

Palestrante A Necessidade Cenário não aplicável Cenário Aplicável Apache Lucene Apache Solr Arquiteturas Estudo Caso Fechamento

Page 3: Pesquisando bilhões de documentos em milésimos de segundo

Hermano Soares

Diretor técnico na Itsway Sistemas Trabalha c/ desenvolvimento a 10 anos Especialista em todas plataformas do Java

( EE, SE,ME ) Desenvolvedor Microsoft .NET 7 certificações Sun: SCJA, SCJP, SCJD,

SCWCD, SCBCD, SCEA, SCMAD Bacharel em SI

Page 4: Pesquisando bilhões de documentos em milésimos de segundo

A Necessidade

Motor de busca Busca textual arbitrária Altíssima performance (<1s) Integração com qualquer linguagem de

programação

Page 5: Pesquisando bilhões de documentos em milésimos de segundo

Cenário: não aplicável

A importância da pesquisa é baixa, o foco do software é outro

O numero de usuários acessando é baixo ex: <100

O volume do acervo é pequeno(200.000rows) e seu crescimento é 5% ao ano.

Tempo de resposta para o usuário até 3s é aceitável.

Page 6: Pesquisando bilhões de documentos em milésimos de segundo

Cenário: aplicável

Pesquisa é de grande valor aos usuários

O tempo de resposta é muito importante

O número de usuário concorrentes é alto (ex: 10.000)

A pesquisa precisa atender a critérios Web 2.0

Page 7: Pesquisando bilhões de documentos em milésimos de segundo

Categorização (Facet)

Page 8: Pesquisando bilhões de documentos em milésimos de segundo

Categorização (Facet/Highlight)

Page 9: Pesquisando bilhões de documentos em milésimos de segundo

Nuvem de tags

Page 10: Pesquisando bilhões de documentos em milésimos de segundo

A TECNOLOGIA

Page 11: Pesquisando bilhões de documentos em milésimos de segundo

Apache Lucene

Motor de Busca textual Alta perfomance Suporte a facet (categorias) Suporte highlight ( grifar resultados) Suporte spellchecker (Você quis dizer ...) Suporte stopwords (termos dispensaveis) Diversos algoritmos de busca textual Open Source e Free

Page 12: Pesquisando bilhões de documentos em milésimos de segundo

Apache Lucene

Page 13: Pesquisando bilhões de documentos em milésimos de segundo

Apache Solr Servidor HTTP de Pesquisa textual, construido sob o Lucene. Suporte a todas as features do lucene Suporte a replicação: Master-Slave Independente de Linguagem/SO (WS) Open source Escrito em Java Dispensa escrever código Java Configurável via xml Suporte Operações: SELECT/ADD/DELETE Cache Estatísticas Suggestions Interface web de Administração e Query (Ferramenta)

Page 14: Pesquisando bilhões de documentos em milésimos de segundo

Arquitetura SOLR

Page 15: Pesquisando bilhões de documentos em milésimos de segundo

Schema.xml

Page 16: Pesquisando bilhões de documentos em milésimos de segundo

Stopwords.txt

dos, em, que, por, de, do, da, sao, teve, se ,os , na, ou, sua, como, das, ha, etc

Page 17: Pesquisando bilhões de documentos em milésimos de segundo

Synonyms.txt

Carro = veiculo Gordo = obeso Morrer = falecer Bonito = belo

Page 18: Pesquisando bilhões de documentos em milésimos de segundo

Spellings.txt

Entaum=entao Aham=sim Blz=ok

Page 19: Pesquisando bilhões de documentos em milésimos de segundo

protwords.txt

Lista de Termos indesejáveis, ofensivos, vulgares, sexuais, etc

Page 20: Pesquisando bilhões de documentos em milésimos de segundo

Operações

Page 21: Pesquisando bilhões de documentos em milésimos de segundo

Interface: Webservice REST

Page 22: Pesquisando bilhões de documentos em milésimos de segundo

Arquitetura de Alta Disponibilidade

Page 23: Pesquisando bilhões de documentos em milésimos de segundo

Replicação

Page 24: Pesquisando bilhões de documentos em milésimos de segundo

Arquitetura Mundo Real Escalável

Page 25: Pesquisando bilhões de documentos em milésimos de segundo

Estudo de Caso

Page 26: Pesquisando bilhões de documentos em milésimos de segundo

Estudo de Caso

Evento: Apache Lucene EuroCon 2010 Empresa: Attensity Group Projeto: Social Media Monitoring Pais: Europa Objetivo:

6-12 months of Twitter, blogs, Youtube, Facebook, Google Buzz

Page 27: Pesquisando bilhões de documentos em milésimos de segundo

Successfully scaled Solr to 3+ billion documents.

40+ Solr servers Amazon EC2 3 billion documents

http://2010.lucene-eurocon.org/

Page 28: Pesquisando bilhões de documentos em milésimos de segundo

Fechamento

Page 29: Pesquisando bilhões de documentos em milésimos de segundo

Como saber o melhor cenário? Expectativa do volume de usuários

Críticidade do tempo de resposta

Importância de uma pesquisa eficiente e relevante.

Page 30: Pesquisando bilhões de documentos em milésimos de segundo

Dúvidas ?

Email: [email protected]

Site: www.itsway.com.br