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

Like this? Share it with your network

Share

Elasticsearch (Rubyshift 2013)

  • 1,906 views
Uploaded on

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,906
On Slideshare
1,861
From Embeds
45
Number of Embeds
3

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 45

https://twitter.com 26
http://localhost 13
http://librosweb.es 6

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. Karel Minařík @karmiq elasticsearch
  • 2. What is Elasticsearch?
  • 3. 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; …
  • 4. Demo http://git.io/hello-elasticsearch-ruby
  • 5. http://stackoverflow.com total title date author rating answers result ordering query syntax excerpt highlight
  • 6. http://stackexchange.com/sites?view=list#questions
  • 7. Schema-less is not schema-free
  • 8. 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: ..." }
  • 9. 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
  • 10. 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
  • 11. http://git.io/stackexchange-elasticsearch Demo
  • 12. thanks!