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
Hiroki Matsue
November 25, 2016
Technology
0
910
カウルにおける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
510
Write tests for Provider
matsue
4
820
Optimize Flutter Workflow on Bitrise
matsue
2
1.3k
ややcomplexなBLoCへの対応
matsue
2
790
Flutterアプリの難読化とエラーレポート(iOS)
matsue
2
2k
いまさらだけど「良い通知」について考えてみた
matsue
4
11k
リテンション率を2倍にするための2つの視点
matsue
0
3.5k
リソースを効率的に使うためのバックログ活用事例
matsue
1
480
ローディング時のより良いUIの実装
matsue
2
2k
Other Decks in Technology
See All in Technology
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
「Linux」という言葉が指すもの
sat
PRO
4
140
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.7k
Agile PBL at New Grads Trainings
kawaguti
PRO
1
450
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/06 - 2025/08
oracle4engineer
PRO
0
100
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
380
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
270
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
460k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Scaling GitHub
holman
463
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Bash Introduction
62gerente
615
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
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