Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ElasticSearch with Ruby
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Oriol Gual
March 22, 2013
Programming
3.2k
10
Share
ElasticSearch with Ruby
An introductory talk about using ElasticSearch with Ruby (and Rails).
Oriol Gual
March 22, 2013
Other Decks in Programming
See All in Programming
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
120
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.8k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
1.4k
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.1k
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
690
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
1.1k
Vibe NLP for Applied NLP
inesmontani
PRO
0
600
t *testing.T は どこからやってくるの?
otakakot
1
900
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
970
PHPer、Cloudflare に引っ越す
suguruooki
1
140
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Tell your own story through comics
letsgokoyo
1
910
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Designing for humans not robots
tammielis
254
26k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
270
Fireside Chat
paigeccino
42
3.9k
New Earth Scene 8
popppiees
3
2.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
How STYLIGHT went responsive
nonsquared
100
6.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
4 Signs Your Business is Dying
shpigford
187
22k
Transcript
ElasticSearch with Ruby
Oriol Hi, I ‘m
Me • github.com/oriolgual • twitter.com/oriolgual • codegram.com
None
None
ElasticSearch • OpenSource search engine • Speaks JSON over HTTP
• RESTFul • WebScaleReady™
Basics • Indexs • Types • Documents • Mapping •
Analyzing • Boosting
Examples curl -XPUT 'http://localhost:9200/twitter/' curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{ "user"
: "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elastic Search" }' curl -XGET 'http://localhost:9200/twitter/tweet/1' curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=user:kimchy'
+ Ruby ElasticSearch
Clients • Tire • Elastictastic • Rubberband • Net::HTTP (nah,
just kidding)
Tire
None
Tire • ActiveRecord/ActiveModel integration • Custom DSL • Indexing, mapping,
analyzing, auto-loading • Searching
Elastictastic • Object Document Mapper • Define fields at the
model • has_many and belongs_to support • Better search DSL (than Tire)
Rubberband • Lightweight Ruby client • Different transports • Index
admin, indexing and searching.
None
Our approach • Rubberband • Indexer objects triggered by an
observer • ElasticSearch only as search engine • Custom service objects to search
Examples • Observer • Indexer • Service object
• filters • custom_score • custom_filter_score • boosting • geo-stuff
ElasticSearch goodies
• Elastomer.com • Bonsai.io • Found.no • Searchbox.io ElasticSearch SaaS
Further reading • http://www.elasticsearch.org/ • http://lucene.apache.org/ • https://github.com/karmi/tire • https://github.com/grantr/rubberband
• https://github.com/brewster/elastictastic • https://github.com/sonian/elasticsearch-jetty • http://getelastomer.com/blog/ • http://jontai.me/blog/
Thanks!