Elasticsearch (Rubyshift 2013)
Upcoming SlideShare
Loading in...5
×
 

Elasticsearch (Rubyshift 2013)

on

  • 1,570 views

General introduction to Elasticsearch at the RubyShift 2013 conference. ...

General introduction to Elasticsearch at the RubyShift 2013 conference.

Download the source code for demos:

* http://git.io/hello-elasticsearch-ruby
* http://git.io/stackexchange-elasticsearch

Statistics

Views

Total Views
1,570
Views on SlideShare
1,527
Embed Views
43

Actions

Likes
0
Downloads
13
Comments
0

3 Embeds 43

https://twitter.com 25
http://localhost 13
http://librosweb.es 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Elasticsearch (Rubyshift 2013) Elasticsearch (Rubyshift 2013) Presentation Transcript

  • Karel Minařík @karmiq elasticsearch
  • What is Elasticsearch?
  • Elasticsearch Flexible REST API & JSON documents; API driven configuration; scripting; index aliases; … Scalable Distributed; built for cloud; … Versatile Search; analytics; storage; alerting; text clustering; NLP … Open Open source; community; plugins; …
  • Demo http://git.io/hello-elasticsearch-ruby
  • http://stackoverflow.com total title date author rating answers result ordering query syntax excerpt highlight
  • http://stackexchange.com/sites?view=list#questions
  • Schema-less is not schema-free
  • Flat structure An index per model. "Common search" scenario. Cannot cross-search. users questions answers comments { "name" : "John", "location" : "..." } { "title" : "My First Question", "body" : "..." } { "title" : "My First Answer", "body" : "..." } { "body" : "Just a comment: ..." }
  • Denormalized Cheap to query, expensive to update. { "title": "My first question", "body": "...", "user": { "name": "John", "location": "..." }, "comments": [ { "text": "Good question!", "user": { "name": "Robert", "location": "..." } } ] } questions answers
  • Compromised denormalisation Some properties don't change (user_name). Some can either be "freezed" or we have to pay the price of the mass update (user_location). { "id" : "john", "name" : "John", "location" : "..." } myapp user question answer { "id" : 1, "title" : "My first question", "body" : "...", "user" : { "name" : "John", "location" : "..." }, "comments" : [ { "body" : "...", "user" : { ... } }, { "body" : "...", "user" : { ... } } ] } { "id" : 2, "title" : "My first answer", "parent_id" : 1, "user" : { "name" : "Robert", "location" : "..." }, "comments" : [ { "body" : "...", "user" : { ... } } ] } parent_id comment comment
  • http://git.io/stackexchange-elasticsearch Demo
  • thanks!