2012 06-26 - Apresentação sobre ElasticSearch

3,876 views
3,764 views

Published on

http://blog.lucascaton.com.br/?p=1373

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,876
On SlideShare
0
From Embeds
0
Number of Embeds
1,695
Actions
Shares
0
Downloads
60
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

2012 06-26 - Apresentação sobre ElasticSearch

  1. 1. Getting search working should not be hard. Lucas Catón
  2. 2. ElasticSearch?Full-text search engine and database.
  3. 3. It’s based on Lucene... Written in Java (fast!) painless setup open-source
  4. 4. Real-time searchFull-text search engine and database Communicating JSON over RESTful HTTP Free search schema Document oriented
  5. 5. Cloud-ready & distributed Built for the cloud Highly-available Always available Scalable Scale to hundreds
  6. 6. Benchmarks by Socialcast Engineeringhttp://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/
  7. 7. Benchmarks by Socialcast Engineeringhttp://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/
  8. 8. Benchmarks by Socialcast Engineeringhttp://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/
  9. 9. Benchmarks by Socialcast Engineeringhttp://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/
  10. 10. Query DSL
  11. 11. Normalise values and search terms"deleteByQuery" "DELETE QUERY" delete by query deletebyquery
  12. 12. AnalyseNormalise values and search terms"deleteByQuery" "DELETE QUERY" delete by query deletebyquery
  13. 13. What is stored in ElasticSearch?
  14. 14. Document:{ tweet => "Perl is GREAT!", posted => "2011-08-15", user => { name => "Clinton Gormley", email => "drtech@cpan.org" }, tags => ["perl","opinion"], posts => 2}
  15. 15. Document: { tweet => "Perl is GREAT!", posted => "2011-08-15", user => { name => "Clinton Gormley",Fields email => "drtech@cpan.org" }, tags => ["perl","opinion"], posts => 2 }
  16. 16. Document: Values{ tweet => "Perl is GREAT!", posted => "2011-08-15", user => { name => "Clinton Gormley", email => "drtech@cpan.org" }, tags => ["perl","opinion"], posts => 2}
  17. 17. Built in analyzers:Pattern, Language, Snowball, Custom, Standard Simple, Whitespace, Stop, Keyword
  18. 18. The Brown-Cows Part_No. #A.BC123-456 joe@bloggs.com keyword: The Brown-Cows Part_No. #A.BC123-456 joe@bloggs.com whitespace: The, Brown-Cows, Part_No., #A.BC123-456, joe@bloggs.com simple: the, brown, cow, s, part, no, a, bc, joe, bloggs, com standard: brown, cows, part_no, a.bc123, 456, joe, bloggs.com snowball (English): brown, cow, part_no, a.bc123, 456, joe, bloggs.com
  19. 19. RTFM!
  20. 20. Language Analyzers A set of analyzers aimed at analyzing specific language text. The following types are supported: arabic, armenian, basque, brazilian, bulgarian, catalan, chinese,cjk, czech, danish, dutch, english, finnish, french, galician, german, greek, hindi, hungarian, indonesian, italian, norwegian, persian, portuguese, romanian, russian, spanish, swedish, turkish, thai.
  21. 21. ClientsJava, Ruby, PHP, Groovy, Python,Perl, Erlang, .NET, Clojure, Scala...
  22. 22. Ruby clientshttps://github.com/karmi/tireGreat documentation, easy installation, flexible.↪ 43,605 total downloads (rubygems.org)https://github.com/grantr/rubberbandPoor documentation.↪ 9,570 total downloads (rubygems.org)https://github.com/wireframe/elastic_searchable/Not very flexible.↪ 16,820 total downloads (rubygems.org)https://github.com/angelf/escargotNot ready yet (WIP).↪ 998 total downloads (rubygems.org)
  23. 23. Ruby clientshttps://github.com/karmi/tireGreat documentation, easy installation, flexible.↪ 43,605 total downloads (rubygems.org)https://github.com/grantr/rubberbandPoor documentation.↪ 9,570 total downloads (rubygems.org)https://github.com/wireframe/elastic_searchable/Not very flexible.↪ 16,820 total downloads (rubygems.org)https://github.com/angelf/escargotNot ready yet (WIP).↪ 998 total downloads (rubygems.org)
  24. 24. evenshtein algorithmL ce) an (similarity based on dist
  25. 25. Rails
  26. 26. Highlight> highlight :tags, :title, :options => { :tag => <strong> }=> "Foo <strong>matched word</strong> Bar" https://github.com/karmi/tire/blob/master/test/integration/highlight_test.rb
  27. 27. Powerfull aggregation feature (Facets)
  28. 28. Powerfull aggregation feature (Facets)
  29. 29. PluginsHow to install:/path/elasticsearch/<version>/bin/plugin -install <plugin_name>
  30. 30. Plugin - elasticsearch-head A web front end for an ElasticSearch clusterhttps://github.com/mobz/elasticsearch-head
  31. 31. Plugin - elasticsearch-head
  32. 32. Plugin - elasticsearch-head
  33. 33. Plugin - Paramedic A simple tool to inspect the state and statistics about ElasticSearch clusters.https://github.com/karmi/elasticsearch-paramedic
  34. 34. Plugin - Paramedic
  35. 35. Plugin - BigDeskLive charts and statistics for ElasticSearch cluster. https://github.com/lukas-vlcek/bigdesk
  36. 36. Plugin - BigDesk
  37. 37. Disadvantages=> Uses lots of memory;=> No autowarming;
  38. 38. Interesting reading / referenceOfficial guidehttp://www.elasticsearch.org/guide/Language Analyzershttp://www.elasticsearch.org/guide/reference/index-modules/analysis/lang-analyzer.htmlTerms of endearment – the ElasticSearch Query DSL explainedhttp://www.elasticsearch.org/tutorials/2011/08/28/query-dsl-explained.htmlRealtime Search: Solr vs Elasticsearchhttp://engineering.socialcast.com/2011/05/realtime-search-solr-vs-elasticsearch/The Ruby Toolbox - Elastic Searchhttps://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=elastic+searchComo adicionar consultas ultra-eficientes em grandes bases de documentoshttp://prezi.com/tdskmzuxflts/como-adicionar-consultas-ultra-eficientes-em-grandes-bases-de-documentos-com-elasticsearch/Rails Castshttp://railscasts.com/episodes/306-elasticsearch-part-1http://railscasts.com/episodes/307-elasticsearch-part-2 (paid content)
  39. 39. Thank you!
  40. 40. Questions?

×