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
カウルにおけるElasiticsearchの導入と実例
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroki Matsue
November 25, 2016
Technology
0
930
カウルにおけるElasiticsearchの導入と実例
「不動産テック勉強会#4」での発表資料です。
https://itandi.connpass.com/event/43680/
Hiroki Matsue
November 25, 2016
Tweet
Share
More Decks by Hiroki Matsue
See All by Hiroki Matsue
Getting Screenshots Automatically in Flutter
matsue
2
550
Write tests for Provider
matsue
4
850
Optimize Flutter Workflow on Bitrise
matsue
2
1.3k
ややcomplexなBLoCへの対応
matsue
2
810
Flutterアプリの難読化とエラーレポート(iOS)
matsue
2
2.1k
いまさらだけど「良い通知」について考えてみた
matsue
4
11k
リテンション率を2倍にするための2つの視点
matsue
0
3.6k
リソースを効率的に使うためのバックログ活用事例
matsue
1
500
ローディング時のより良いUIの実装
matsue
2
2k
Other Decks in Technology
See All in Technology
配列に見る bash と zsh の違い
kazzpapa3
3
170
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
430
AI駆動開発を事業のコアに置く
tasukuonizawa
1
370
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
150
Claude Code for NOT Programming
kawaguti
PRO
1
100
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
200
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
220
20260204_Midosuji_Tech
takuyay0ne
1
160
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
210
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Automating Front-end Workflow
addyosmani
1371
200k
Six Lessons from altMBA
skipperchong
29
4.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Become a Pro
speakerdeck
PRO
31
5.8k
BBQ
matthewcrist
89
10k
New Earth Scene 8
popppiees
1
1.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
71
YesSQL, Process and Tooling at Scale
rocio
174
15k
Code Reviewing Like a Champion
maltzj
527
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
Χϧʹ͓͚Δ Elasiticsearchͷಋೖͱ࣮ྫ Hiroki Matsue גࣜձࣾ Housmart CIO Nov 25, 2016
ෆಈ࢈ςοΫษڧձ#4
• @macs_6 • Ruby / iOS / Scrum • ࠷ۙͷΈ:
KarabinerͰEmacsΩʔϚοϓͰ ͖ͳ͍͜ͱ
None
• 97%ͷ෦Λཏ(౦ژ23۠ɾԣɾਆಸ) • औҾࣄྫਪఆՁ֨Ͱదਖ਼Ձ͕͔֨Δ • հखྉ3%͕࠷େແྉ தݹϚϯγϣϯചങઐͷwebෆಈ࢈
ΧϧͰಈ͘ Elasticsearchͷ
ಋೖͷഎܠ • ϢʔβͷͨΊʹݕࡧΛͬͱ͍͍ͨ͘͢͠ • ࣅͨ݅ݟ͚͍ͭͨ͘͢͠ • ϨεϙϯεΛ͍ͨ͘͠
ݕࡧΫΤϦ
࣮ݱͨ͜͠ͱɾ͍ͨ͜͠ͱ • Ϛϯγϣϯݕࡧ͢ΔࡍͷΩʔϫʔυΛαδΣετ • ʮܘXkmҎͷϚϯγϣϯʯͷऔಘ • 89.8ms => 23.4ms •
Ϛϯγϣϯݕࡧ(Ҡߦத) • ࣅͨϚϯγϣϯͷϨίϝϯυ(͜Ε͔Β)
Ϛϯγϣϯ໊αδΣετͷ
ߏ CloudFront S3 ELB Front (EC2) RDS Elasticsearch (EC2) API
(EC2)
Elasticsearchʹ ೖΕ͍ͯΔσʔλɾ༻్ • σʔλ • Ϛϯγϣϯͷ౩ͷϚελσʔλ • ༻్ • ݕࡧϫʔυͷαδΣετ
• ۙྡͷϚϯγϣϯҰཡͷऔಘ
͠͞/ • ͠͞ • ຊޠ • Ұൠࣙॻʹೖͬͯͳ͍୯ޠ(ϒϥϯυ໊etc) • •
ຊޠಛ༗ͷઃఆͷ࡞ΓࠐΈ • ରσʔλΛԼॲཧ
https://medium.com/hello-elasticsearch/elasticsearch-91c9f22c663a
Char Filter normalize: { type: 'icu_normalizer', name: 'nfkc', mode: 'compose'
} ʮ͔ʯ+ʮʃʯˠʮ͕ʯ ʮὦʯˠʮηϯνʯ
Ωʔϫʔυೖྗத༻ͷFilter ... # Πϯϙʔτ࣌ 'lowercase', 'trim', 'engram' ... # ೖྗ࣌
'lowercase', 'trim' ...
Ωʔϫʔυ֬ఆ༻ͷFilter ... # Πϯϙʔτ࣌ 'lowercase', 'trim', 'readingform_neologd_romaji', 'asciifolding', ‘engram' ...
# ೖྗ࣌ 'lowercase', ‘trim’, 'readingform_neologd_romaji', 'asciifolding' ...
େ·͔ͳྲྀΕ • খจࣈԽ • ݴ༿લޙͷۭനจࣈΛআ • ͍จࣈͷ୯ޠΛআ֎ • ࣈΛϩʔϚࣈʹม •
ΞϧϑΝϕοτมʢhokkaidō → hokkaidoʣ ࢀߟ: https://medium.com/hello-elasticsearch/elasticsearch-ΩʔϫʔυαδΣετຊޠͷͨΊͷઃܭ-352a230030dd
ΠϯσοΫεͷલॲཧ ྫ͑ʰຊώϧζϨδσϯεʱΛ… • ʮຊώϧζϨδσϯεʯ • ʮຊʯʮώϧζʯʮϨδσϯεʯ • ʮຊʯ • ʮώϧζʯ
• ʮϨδσϯεʯ • ʮຊʯʮώϧζʯ • ʮώϧζʯʮϨδσϯεʯ ҙຯͷ͋Δසग़ޠ͕ αδΣετ͞ΕΔ • ໊ɾӺ໊ • ϒϥϯυ໊
ࠓޙΓ͍ͨ͜ͱ • طଘݕࡧͷஔ͖͑(ΫΤϦվमɾࣙॻ֦ॆ) • Ϩίϝϯυػೳͷఏڙ • PercolatorʹΑΔ৽ண௨ • ӡ༻ڧԽ(HAߏɾΠϯϙʔτपΓͷઃܭ) •
etc..
ٕज़ࢿͷ࣌ؒͮ͘Γ http://techblog.housmart.co.jp/2016/03/14/dev_cycle/ ͍͍͢͢ਫ༵
We are hiring! ϋεϚʔτ@wantedly