Your SlideShare is downloading. ×
0
Karel Minařík
@karmiq
elasticsearch
What is Elasticsearch?
Elasticsearch
Flexible REST API & JSON documents; API
driven configuration; scripting;
index aliases; …
Scalable Distribut...
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...
Denormalized
Cheap to query, expensive to update.
{
"title": "My first question",
"body": "...",
"user": {
"name": "John",...
Compromised denormalisation
Some properties don't change (user_name). Some can either be "freezed" or we have to pay the p...
http://git.io/stackexchange-elasticsearch
Demo
thanks!
Upcoming SlideShare
Loading in...5
×

Elasticsearch (Rubyshift 2013)

2,112

Published on

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

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

  • Be the first to like this

No Downloads
Views
Total Views
2,112
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Elasticsearch (Rubyshift 2013)"

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

    Clipping is a handy way to collect important slides you want to go back to later.

×