Your SlideShare is downloading. ×
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Turbinando sua aplicação com Lucene, Solr e Hibernate Search
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Turbinando sua aplicação com Lucene, Solr e Hibernate Search

5,212

Published on

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
5,212
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
79
Comments
1
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Turbinando sua aplicação com Lucene Solr & Hibernate Search Paulo César M. Jeveaux - @jeveaux paulo.jeveaux@giran.com.br sábado, 19 de setembro de 2009
  • 2. Jeveaux • CEO da Giran • Desenvolvedor Java há 8++ anos • Fundador do ESJUG e Agile-ES • Administrador do PortalJava.com • Palestrante e evangelista Java • Entusiasta Ruby, Rails, Python e Agile • Curioso e estudando Erlang sábado, 19 de setembro de 2009
  • 3. Giran Soluções e Ensino • Consultoria e Treinamento especialidados • Java • Ruby on Rails • Desenvolvimento ágil • Gerenciamento de projetos com SCRUM • Profissionais altamente qualificados • Participação ativa na comunidade • http://www.giran.com.br sábado, 19 de setembro de 2009
  • 4. Giran Soluções e Ensino • Consultoria e Treinamento especialidados • Java • Ruby on Rails • Desenvolvimento ágil • Gerenciamento de projetos com SCRUM • Profissionais altamente qualificados • Participação ativa na comunidade • http://www.giran.com.br sábado, 19 de setembro de 2009
  • 5. Giran Soluções e Ensino • Consultoria e Treinamento especialidados • Java • Ruby on Rails • Desenvolvimento ágil • Gerenciamento de projetos com SCRUM • Profissionais altamente qualificados • Participação ativa na comunidade • http://www.giran.com.br sábado, 19 de setembro de 2009
  • 6. Sobre o que vamos falar hoje... sábado, 19 de setembro de 2009
  • 7. sábado, 19 de setembro de 2009
  • 8. sábado, 19 de setembro de 2009
  • 9. sábado, 19 de setembro de 2009
  • 10. #ESFM estável seguro e de fácil manutenção sábado, 19 de setembro de 2009
  • 11. #ESFM estável seguro e de fácil manutenção sábado, 19 de setembro de 2009
  • 12. • Pesquisas • Lucene • Solr • Hibernate Search sábado, 19 de setembro de 2009
  • 13. o que é um software de pesquisas? o que um software de pesquisa faz? sábado, 19 de setembro de 2009
  • 14. FAZ sábado, 19 de setembro de 2009
  • 15. monta um índice FAZ sábado, 19 de setembro de 2009
  • 16. monta um índice FAZ responde a pesquisas baseando-se neste índice sábado, 19 de setembro de 2009
  • 17. monta um índice FAZ responde a pesquisas baseando-se neste índice Search Software? Eu faço LIKE direto no banco de dados sábado, 19 de setembro de 2009
  • 18. OFERECE sábado, 19 de setembro de 2009
  • 19. OFERECE relevância sábado, 19 de setembro de 2009
  • 20. OFERECE relevância escalabilidade sábado, 19 de setembro de 2009
  • 21. OFERECE relevância escalabilidade integração com diversas fontes de dados sábado, 19 de setembro de 2009
  • 22. baseado em palavras não em substrings carro OU automóvel auto != automóvel má OU macho sábado, 19 de setembro de 2009
  • 23. baseado em palavras não em substrings carro OU automóvel auto != automóvel má OU macho talvez aqui no Ceará não ;-) sábado, 19 de setembro de 2009
  • 24. baseado em palavras não em substrings carro OU automóvel auto != automóvel má OU macho talvez aqui no Ceará não ;-) e agora!? como fazer no banco de dados? sábado, 19 de setembro de 2009
  • 25. Apache Lucene sábado, 19 de setembro de 2009
  • 26. Search Software sábado, 19 de setembro de 2009
  • 27. Open Source Search Software sábado, 19 de setembro de 2009
  • 28. sábado, 19 de setembro de 2009
  • 29. sábado, 19 de setembro de 2009
  • 30. sábado, 19 de setembro de 2009
  • 31. sábado, 19 de setembro de 2009
  • 32. Lucene Java Solr sábado, 19 de setembro de 2009
  • 33. Mahout PyLucene Lucene Java desde 2000 Lucy Tika Solr Lucene.Net Open Relevance Nutch Project Droids sábado, 19 de setembro de 2009
  • 34. Lucene Java indexação e pesquisa java 1.4++ nenhuma dependência, nenhuma! qualquer coisa é um documento sábado, 19 de setembro de 2009
  • 35. Lucene Java indexação e pesquisa java 1.4++ nenhuma dependência, nenhuma! qualquer coisa é um documento { } fields fields fields sábado, 19 de setembro de 2009
  • 36. Lucene Features indexação e pesquisa bastante rápidas query syntax simples e poderosa ordenação por relevância ou por campos (fields) comunidade grande e ativa Apache License 2.0 sábado, 19 de setembro de 2009
  • 37. Lucene Query Syntax cejug “cejug” *jug café AND tapioca café OR tapioca café NOT tapioca jug:cejug sábado, 19 de setembro de 2009
  • 38. Lucene Query Syntax cejug “cejug” *jug café AND tapioca +café +tapioca café OR tapioca café NOT tapioca jug:cejug sábado, 19 de setembro de 2009
  • 39. Lucene Query Syntax cejug “cejug” *jug café AND tapioca +café +tapioca café OR tapioca café NOT tapioca +café -tapioca jug:cejug sábado, 19 de setembro de 2009
  • 40. Lucene Features++ normalização de textos (Analyzer) normalização linguística lowercase stopwords tokenizer sábado, 19 de setembro de 2009
  • 41. Lucene Features++ normalização de textos (Analyzer) normalização linguística guri => menino lowercase stopwords tokenizer sábado, 19 de setembro de 2009
  • 42. Lucene Features++ normalização de textos (Analyzer) normalização linguística guri => menino lowercase stopwords a, e, ou, para, de, etc ... tokenizer sábado, 19 de setembro de 2009
  • 43. Lucene Features++ normalização de textos (Analyzer) normalização linguística guri => menino lowercase stopwords a, e, ou, para, de, etc ... tokenizer ce-jug: java => ce, jug, java, cejug sábado, 19 de setembro de 2009
  • 44. Lucene Features++ normalização de textos (Analyzer) normalização linguística guri => menino má => macho lowercase stopwords a, e, ou, para, de, etc ... tokenizer ce-jug: java => ce, jug, java, cejug sábado, 19 de setembro de 2009
  • 45. Lucene Features++ Fuzzy search distância de levenshtein “ceará java ~ 0.75” Proximidade “ceará java” ~ 5 sábado, 19 de setembro de 2009
  • 46. aprendendo o básico sábado, 19 de setembro de 2009
  • 47. aprendendo o básico 1. INDEXAR sábado, 19 de setembro de 2009
  • 48. aprendendo o básico 1. INDEXAR sábado, 19 de setembro de 2009
  • 49. aprendendo o básico 1. INDEXAR 2. PESQUISAR sábado, 19 de setembro de 2009
  • 50. index 1. crie um documento a. adicione os fields 2. adicione o documento ao index 3. o indexador irá analisar o documento e atualizar o index sábado, 19 de setembro de 2009
  • 51. index search 1. crie um documento 1. crie uma query a. adicione os fields 2. abra um index 2. adicione o documento ao index 3. pesquise no index 3. o indexador irá analisar 4. itere no resultado e o documento e atualizar exiba-o o index sábado, 19 de setembro de 2009
  • 52. hands on! sábado, 19 de setembro de 2009
  • 53. Solr sábado, 19 de setembro de 2009
  • 54. Search Server sábado, 19 de setembro de 2009
  • 55. baseado no lucene Search Server sábado, 19 de setembro de 2009
  • 56. sábado, 19 de setembro de 2009
  • 57. sábado, 19 de setembro de 2009
  • 58. sábado, 19 de setembro de 2009
  • 59. Solr sábado, 19 de setembro de 2009
  • 60. caching replicação XML JSON alta performance administração amigável full-text search Solr sábado, 19 de setembro de 2009
  • 61. Solr servidor web de indexação e pesquisa java 1.5++ possui o lucene em seu core sábado, 19 de setembro de 2009
  • 62. Solr Features interface web de administração otimizações para alta performance e muito tráfego suporta caching e replication XML/HTTP e JSON API faceted search hit highlighting sábado, 19 de setembro de 2009
  • 63. hands on! sábado, 19 de setembro de 2009
  • 64. Hibernate Search sábado, 19 de setembro de 2009
  • 65. o melhor de dois mundos? sábado, 19 de setembro de 2009
  • 66. talvez! o melhor de dois mundos? sábado, 19 de setembro de 2009
  • 67. Hibernate Search Features hibernate core + JPA baseado em anotações indexação baseada em eventos (transparente) integração com seu modelo sábado, 19 de setembro de 2009
  • 68. Hibernate Search Features hibernate core + JPA + lucene baseado em anotações indexação baseada em eventos (transparente) integração com seu modelo sábado, 19 de setembro de 2009
  • 69. Hibernate Search Features elimina a conversão para documentos mantém seu índice atualizado depende do hibernate core e annotations também possui integração com Solr amigável com soluções JBoss* sábado, 19 de setembro de 2009
  • 70. hands on! sábado, 19 de setembro de 2009
  • 71. Conclusões lucene indexação e pesquisa rápido e poderoso simples e leve sem dependências não possui webcrawlers ou parsers sábado, 19 de setembro de 2009
  • 72. Conclusões solr servidor de indexação e pesquisa Restful API (HTTP e XML) cliente não precisa ser Java administração fácil via web construído sobre o lucene sábado, 19 de setembro de 2009
  • 73. Conclusões hibernate search integração com seu modelo de dados sem manipulação direta de documentos sincronização transparente do index dependência do hibernate sábado, 19 de setembro de 2009
  • 74. http://www.esjug.org sábado, 19 de setembro de 2009
  • 75. Referências • http://search.hibernate.org • http://lucene.apache.org • http://lucene.apache.org/solr • http://info.abril.com.br/noticias/ti/fbi-e-cia-vao-abracar-o-codigo- aberto-22062009-35.shl • http://www.getopt.org/luke • http://vitorpamplona.com/wiki/Introdução%20ao%20Apache %20Lucene • http://www.lucenetutorial.com • http://wikipedia.org sábado, 19 de setembro de 2009
  • 76. Exemplos & Códigos • Lucene • http://github.com/jeveaux/aprendendo-lucene • Solr • http://github.com/jeveaux/aprendendo-solr • Hibernate Search • http://github.com/jeveaux/aprendendo- hibernatesearch sábado, 19 de setembro de 2009
  • 77. dúvidas? sábado, 19 de setembro de 2009
  • 78. Obrigado! http://www.cejug.org sábado, 19 de setembro de 2009
  • 79. Turbinando sua aplicação com Lucene Solr & Hibernate Search Paulo César M. Jeveaux - @jeveaux paulo.jeveaux@giran.com.br sábado, 19 de setembro de 2009

×