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
10
3.2k
ElasticSearch with Ruby
An introductory talk about using ElasticSearch with Ruby (and Rails).
Oriol Gual
March 22, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
リッチエディターを安全に開発・運用するために
unachang113
1
370
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
3
820
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1k
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
410
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
The State of Fluid (2025)
s2b
0
110
AIのメモリー
watany
13
1.4k
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
700
Infer入門
riru
4
1.4k
DataformでPythonする / dataform-de-python
snhryt
0
160
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
750
Featured
See All Featured
Visualization
eitanlees
146
16k
It's Worth the Effort
3n
185
28k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Designing for humans not robots
tammielis
253
25k
RailsConf 2023
tenderlove
30
1.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Music & Morning Musume
bryan
46
6.7k
Automating Front-end Workflow
addyosmani
1370
200k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
A Tale of Four Properties
chriscoyier
160
23k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
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!