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
You're not using Elasticsearch?
Search
Timon Vonk
March 13, 2014
Technology
2
280
You're not using Elasticsearch?
An introduction to Elasticsearch 1.0 and how Tolq uses it for its translation memory
Timon Vonk
March 13, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
Create Ruby native extension gem with Go
sue445
0
120
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
「Linux」という言葉が指すもの
sat
PRO
4
140
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
190
KotlinConf 2025_イベントレポート
sony
1
140
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Featured
See All Featured
Faster Mobile Websites
deanohume
309
31k
A Tale of Four Properties
chriscoyier
160
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Embracing the Ebb and Flow
colly
87
4.8k
Optimizing for Happiness
mojombo
379
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
BBQ
matthewcrist
89
9.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Automating Front-end Workflow
addyosmani
1370
200k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Transcript
You’re not using ElasticSearch? Timon Vonk (@timonvonk)
About me • CTO @ Tolq, zero effort website translations
• Freelance hacker and consultant
None
The battlefield • Ferret • Xapian • Solr • Postgresql’s
TSVectors • Sphinx • Many more
What is ElasticSearch? • Search engine • Cloud in mind
• JSON API • Scriptable • Nosql • Great for things different than search
Why use it? • Cloud setup out of the box
• Fast indexing • Easy API • On the fly mappings • Very customisable
OMG WHAT IS LUCENE • Java library for search •
Only handles the search bit • Terms based vector algorithm
Making a query • Just send JSON: GET localhost:9200/example/peanuts/_search {
‘query’: { text: { ‘my_field’: ’many search terms’ }}} { took: 5, timed_out: false, _shards: { total: 5, successful: 5, failed: 0 }, hits: [ { _index: “example”, _type: “peanuts”, _score: 0.9, _source: { …data } } ] } }
Other types of queries • Terms, full text, boolean, fuzzy,
geolocation and lots more variants • Filters, aggregations, percolation, suggestions
Analysing • Pre-index and pre-search • This is when scoring
happens • Remove stop words, stemming, other normalisations • You can create your own analysers
Aggregations { “query”: … } { “aggregations”: { “rubyist_stats”: {
“stats”: { “field”: “meetup_visits” } } } } Aggregations are an upgrade over < 1.0 facets
Different kinds • min, max, avg, sum • stats, extended_stats
(all of the above + stdev/ mean) • percentile • counts • … all scriptable!
Also buckets! • Create subsets based on conditions • Nest
aggregations • … aaand scriptable
(Ruby) libraries • Good old Tire deprecated • Stretcher! •
elasticsearch-ruby • Also libraries for Go, Node, Javascript, etc • … it’s just json
How Tolq uses ElasticSearch • Suggest better translations for translators
• Fast access to text and translations for general search
Other fun stuff • Kibana • Hadoop • Hosted, autoscaling
providers
Also, it works great for text search! Thanks! We’ve launched!
http://www.tolq.com And hiring!