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
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
cloudnative conference 2026 flyle
azihsoyn
1
200
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
130
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
470
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
120
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
120
inferと仲良くなる10分間
ryokatsuse
1
240
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
iOS26時代の新規アプリ開発
yuukiw00w
0
200
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
250
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
110
Swiftのレキシカルスコープ管理
kntkymt
0
190
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
230
Featured
See All Featured
Everyday Curiosity
cassininazir
0
210
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Mind Mapping
helmedeiros
PRO
1
200
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
530
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
300
エンジニアに許された特別な時間の終わり
watany
107
240k
Agile that works and the tools we love
rasmusluckow
331
21k
Navigating Weather and Climate Data
rabernat
0
200
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!