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
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
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1.1k
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
990
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
590
高速開発のためのコード整理術
sutetotanuki
1
380
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
CSC307 Lecture 02
javiergs
PRO
1
770
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
300
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
420
Into the Great Unknown - MozCon
thekraken
40
2.2k
Producing Creativity
orderedlist
PRO
348
40k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Being A Developer After 40
akosma
91
590k
HDC tutorial
michielstock
1
350
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!