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
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
Search
po3rin
November 26, 2021
Programming
1
830
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
November 26, 2021
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
280
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
0
290
検索基盤移行時の思考
po3rin
0
4.2k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.6k
Elasticsearchを負荷から守るesguard
po3rin
0
240
eskeeperを使ったファイル定義によるindex管理
po3rin
2
450
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
82
Handling Temporal Query for Health Search with ja-timex
po3rin
3
310
医療検索における婉曲表現変換
po3rin
2
760
Other Decks in Programming
See All in Programming
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
42 best practices for Symfony, a decade later
tucksaun
1
180
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
fs2-io を試してたらバグを見つけて直した話
chencmd
0
220
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
190
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Raft: Consensus for Rubyists
vanstee
137
6.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Side Projects
sachag
452
42k
Building Applications with DynamoDB
mza
91
6.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Practical Orchestrator
shlominoach
186
10k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
It's Worth the Effort
3n
183
28k
Transcript
4VEBDIJʷ&MBTUJDTFBSDIͷҠߦͱ ҩྍݕࡧγεςϜਫ਼վળ hiromu-nakamura @po3rin
தଜ߂ ΤϜεϦʔͷ"*ɾػցֶशνʔϜͰݕࡧج൫पΓ Λ୲͍ͯ͠Δɻ(Pͱใݕࡧ͕͖ɻ ֤छΞΧϯτQPSJOͰͬͯ·͢ɻ )*SPNV/BLBNVSB
ΤϜεϦʔͷݕࡧج൫ΛϝΠϯʹ։ൃ͍ͯ͠ΔɻͦͷதͰ ʑɺݕࡧ࣭վળ͕ߦΘΕ͍ͯΔɻ ఆظతʹ&MBTUJDTFBSDI-VDFOFྠಡձใݕࡧਪનจྠಡ ձΛߦ͍ͬͯΔɻ ΤϜεϦʔݕࡧج൫νʔϜ
ฐࣾͷݕࡧͷ՝ͱͯ͠ දه༳Ε ෳ߹ޠͷׂ ͕ڍ͛ΒΕΔɻ ՝
ҩྍυϝΠϯಛʹදه༳Ε͕ଟ͘ɺྫ͑ʮң͕ΜңΨϯң؞ʯͳͲͷฏԾ໊ ΧλΧφࣈͷ༳Ε͕͋Δɻ දه༳Ε Ψϯʹͳͬͨ ΨϯʹͳΔ ͕Μ ώοτ͠ͳ͍ʂ *OEFY
,VSPNPKJͰγϊχϜͰશͯͷઐ༻ޠͷදه༳ΕΛఆٛͯ͠ٵऩ͢Δͱ͍͏ର ࡦ͕͋Δ͕ɺҩྍ༻ޠͷදه༳Εύλʔϯඇৗʹଟ͘ɺશͯΛγϊχϜࣙॻͰ· ͔ͳ͏ͷࠔɻ දه༳Ε
ҩྍ༻ޠෳ߹ޠ ͭҎ্ͷ୯ޠ͕࿈݁ͯ͠ɺผͷͭͷޠΛܗͬͨͷ ͕ඇৗʹଟ͘ɺ͜Ε͕͠͠ͱͳ Δɻྫ͑ʮ࿑࡞ੑڱ৺ףಈ຺εςϯτཹஔޙʯΛ୯७ʹࣙॻʹొ͢Δͱɺʮڱ৺ʯͰʮ࿑࡞ੑڱ৺ףಈ຺ εςϯτཹஔޙʯ͕ώοτ͠ͳ͍ɻ ෳ߹ޠͷׂ ࿑࡞ੑڱ৺ףಈ຺εςϯτཹஔޙ ڱ৺ ώοτ͠ͳ͍ʂ
*OEFY ࿑࡞ੑڱ৺ףಈ຺εςϯτཹஔޙ
ͳͥલͷྫ͕ώοτ͠ͳ͍͔ͱ͍͏ͱɺ,VSPNPKJϢʔβʔࣙॻʹ࿈ίετΛؚΉࣄ ͕Ͱ͖ͣɺϢʔβʔࣙॻʹఆٛͯ͋͠Δ୯ޠͷ୯ҐͰඞͣܗଶૉղੳ͞Εͯ͠·͏ͨΊͰ ͋Δɻ ෳ߹ޠͷׂ ,VSPNPKJʹؔͯ͠OCFTU<>Ͱ͍ͬͯ͘ํ๏͕ڍ͛ΒΕ·͕͢ɺ࠷దͳෳ߹ޠͷ ׂʹͳ͍ͬͯͳ͍ࣄ͕ଟ͘ɺ͓͔͠ͳݕࡧ݁Ռʹͳͬͯ͠·͏ࣄ͕͋Δɻ <>IUUQTXXXFMBTUJDDPHVJEFFOFMBTUJDTFBSDIQMVHJOTDVSSFOUBOBMZTJTLVSPNPKJUPLFOJ[FSIUNM Ψϯόϧ Ψϯόϧ
Ψϯόϧ ώοτ͠ͳ͍ʂ ʮΨϯʯ͕ࣙॻʹ͋Δ
·ͱΊΔͱզʑͷ8"/5Լهʹू͞Ε·͢ɻ w ҩྍ༻ޠͷදه༳ΕʹରԠ͍ͨ͠ w ҩྍෳ߹ޠͷࣙॻΛਖ਼ׂ͍ͨ͘͠͠ ղܾ͍ͨ͜͠ͱ
4VEBDIJ
4VEBDIJ ң͕Μʹͳͬͨ ң؞ʹͳΔ ң؞ *OEFY 4VEBDIJͰॊೈͳϢʔβʔࣙॻఆٛɺਖ਼نԽػೳ͕Έࠐ·Ε͓ͯΓɺզʑ͕࣋ͭ՝ ͱඇৗʹ૬ੑ͕ྑ͍ɻྫ͑ʮң͕ΜʯʮңΨϯʯʮң؞ʯʹσϑΥϧτͰਖ਼نԽ Ͱ͖Δɻ ώοτ͢Δ
ΧελϜࣙॻʹਖ਼نԽΛΈࠐΉ͜ͱ͕Ͱ͖ɺ͞Βʹ࿈ίετͪ͜ΒͰௐՄ ೳɻ·ͨෳׂՄೳɻ 4VEBDIJ ൃ࡞ੑ৺ࡉಈ৺ଁͷதͷ ൃ࡞ੑ৺ࡉಈൃ࡞ੑ৺ࡉಈ ৺ଁͷதͷ ʮൃ࡞ੑ৺ࡉಈʯ͕ ࣙॻొ͞Ε͍ͯΔͱ͖ ৺ࡉಈ
ώοτ͢Δʂ Ψϯόϧ Ψϯόϧ Ψϯόϧ ώοτ͢Δʂ ʮΨϯʯ͕ࣙॻʹ͋ͬͯ Ψϯόϧͷίετͷํ͕͍ͷͰ Ψϯόϧ͕Ұ୯ޠ
͢Ͱʹ&MBTUJDTFBSDIΛӡ༻͍ͯ͠Δ߹ɺطଘͷࣙॻγϊχϜࣙॻ͕͢Ͱʹଘࡏ͠ɺͦΕΒͷطଘϦ ιʔεΛҠߦ͢Δͷগ͠खલͷ͔͔Δ࡞ۀͰ͢ɻզʑͷҠߦͰҎԼͷҠߦϓϩηεΛ౿Έ·ͨ͠ɻ w ࠓ͍ͬͯΔ,VSPNPKJϢʔβʔࣙॻΛ4VEBDIJϢʔβʔࣙॻʹҠߦ͢Δ w ࠓ͍ͬͯΔγϊχϜࣙॻ͔Β4VEBDIJਖ਼نԽػೳͰ͑ΔͷΛআ͢Δ w ฏԾ໊ΧλΧφͷਖ਼نԽࣙॻΛ࡞Δ w Ҡߦ࣌ͷ4VEBDIJΓସ͑ઓུ
w ҠߦޙͷӨڹͷࣄલ֬ೝ ͔͜͜Β࣮ࡍʹΤϜεϦʔݕࡧج൫νʔϜ͕ͲͷΑ͏ʹ4VEBDIJʹҠߦ͔ͨ͠Λ͓͠͠·͢ɻ 4VEBDIJͷҠߦ
4VEBDIJϢʔβʔࣙॻʹҠߦ͢Δ 4VEBDIJʹҠߦ͢Δࡍʹ͢Ͱʹӡ༻͍ͯ͠ΔϢʔβʔࣙॻ͕͋ΔͳΒͦΕΛ4VEBDIJࣙॻʹม ͢Δඞཁ͕͋Δɻ ݕࡧج൫νʔϜͰ։ൃͨ͠LVSPTVEBDIJͱ͍͏ࣙॻมπʔϧΛͬͯࣙॻͷҠߦ͠·͠ ͨɻ͜ͷπʔϧ044ͱͯ͠ެ։͍ͯ͠·͢ɻ
4VEBDIJϢʔβʔࣙॻʹ Ҡߦ͢Δ LVSPTVEBDIJΛ͏ͱɺมํ๏Λ+40/Ͱࢦ ఆ͢Δ͚ͩͰɺ࿈ίετ༩ɺׂϞʔυఆ ٛࡁΈͷ4VEBDIJࣙॻ͕खʹೖΔɻ LVSPTVEBDIJͷ෦Ͱ4VEBDIJ1ZΛϞ δϡʔϧͱͯ͠ར༻͠ɺܗଶૉղੳͨ݁͠ՌΛ ׂใͱͯ͠ొ͍ͯ͠Δɻ
ࠓ͍ͬͯΔγϊχϜࣙॻ͔Β 4VEBDIJਖ਼نԽػೳͰ·͔ͳ͑ΔͷΛআ͢Δ 4VEBDIJͷਖ਼نԽͰࣄΓΔ໊دͤΛγϊχϜʹఆٛ͢Δඞཁͳ͍ͷͰɺͦΕΒΛআ͍ͯܰ͠γϊχϜࣙॻʹ͠ ͍͖͍ͯͨͱ͜ΖͰ͢ɻྫ͑ฐࣾͷγϊχϜࣙॻʹʮͨΜͺ࣭͘ ന࣭ʯͱ͍͏ఆ͕ٛ͋Γ·͕ͨ͠ɺ͜Ε 4VEBDIJͷਖ਼نԽͰ༳ΕΛٵऩͰ͖·͢ɻ
ࠓ͍ͬͯΔγϊχϜࣙॻ͔Β 4VEBDIJਖ਼نԽػೳͰ·͔ͳ͑ΔͷΛআ͢Δ ࠓճͷҠߦͰࢲ͕044ͱͯ͠ެ։͍ͯ͠ΔDIJOPSN fi MUFSͱ͍͏πʔϧΛͬͯ͜ΕΛ࣮ݱ͠·ͨ͠ɻ
ฏԾ໊ΧλΧφͷਖ਼نԽࣙॻΛ࡞Δ 4VEBDIJͰ͋ΔఔฏԾ໊ΧλΧφࣈͷදه༳ΕʹରԠͯ͘͠Ε·͕͢ɺશͯʹରԠͯ͘͠ΕΔ ༁Ͱ͋Γ·ͤΜɻྫ͑ʮ͜Εͯ͢ΖʔΔʯ4VEBDIJࣙॻͰະఆٛͰ͋Γɺܗଶૉղੳ͢Δͱ͓ ͔͠ͳ݁ՌʹͳΓ·͢ɻ
ฏԾ໊ΧλΧφͷਖ਼نԽࣙॻΛ࡞Δ ͦ͜ͰࠓճͷҠߦʹ߹ΘͤͯฏԾ໊ΛΧλΧφʹਖ਼نԽͨ͠4VEBDIJϢʔβʔࣙॻΛੜ͢ΔIJSBLBOBEJD ͱ͍͏πʔϧΛ࡞ͬͨɻฏԾ໊ΛશͯγϊχϜͰఆٛ͢Δํ๏͋Δ͕ɺ͜ͷΑ͏ʹ4VEBDIJϢʔβʔࣙॻ Ͱਖ਼نԽΛఆٛͨ͠ํ͕4VEBDIJͷํʹ߹ΘͤΒΕΔͷͰɺ͜ͷํ๏Λ࠾༻͍ͯ͠Δɻ
Ҡߦ࣌ͷ4VEBDIJΓସ͑ઓུ Ҡߦઓུͱͯ͠&MBTUJDTFBSDIͷNVMUJ fi FME<>ʹΑΔ"#ςετɺΓସ͑ํ๏Λ࠾༻ͨ͠ɻ͜ΕͰಉ͡ϑΟʔϧυʹෳ ͷํ๏ͰυΩϡϝϯτΛ֨ೲ͢ΔΑ͏ʹઃఆͰ͖Δɻ͜͏͓ͯ͘͠ͱ"OBMZ[FSҠߦ࣌ͷӨڹൣғΛ࠷খݶʹͰ͖Δɻ <>IUUQTXXXFMBTUJDDPHVJEFFOFMBTUJDTFBSDIQMVHJOTDVSSFOUBOBMZTJTLVSPNPKJUPLFOJ[FSIUNM
Ҡߦ݁Ռ γεςϜࣙॻͷॆ࣮
Ҡߦ݁Ռ ਖ਼نԽ
Ҡߦ݁Ռ ׂใఆٛ
·ͱΊ &MBTUJDTFBSDIͰ4VEBDIJΛར༻͢Δํ๏ͱɺΤϜεϦʔݕࡧج൫νʔϜͰ,VSPNPKJ͔Β4VEBDIJʹҠߦ ͨ͠Λͨ͠ɻ4VEBDIJʹҠߦͯ͠ݕࡧͷମݧ͕ඇৗʹྑ͘ͳ͕ͬͨɺ·ͩཧͷҩྍݕࡧΤϯδϯͱ ݴ͑ͳ͍ͷͰɺ͜Ε͔ΒͲΜͲΜݕࡧվળΛ͍͍ͯͨ͠ɻ Ҡߦ࣌ʹ࡞ͬͨπʔϧ044ͱͯ͠ެ։͍ͯ͠ΔͷͰ13͓͓ͪͯ͠Γ·͢ʂ
ϒϩάʹৄࡉΛॻ͖·ͨ͠ɻ IUUQTXXXNUFDICMPHFOUSZTVEBDIJFT ࠓհͰ͖ͳ͔ͬͨϋϚΓϙΠϯτ4VEBDIJ ʹग़ͨ͠13ͷͳͲ͋Γ·͢ɻ
ҩྍࣗવݴޠॲཧʹڵຯΛ࣋ͬͨΒ
ΤϜεϦʔੵۃ࠾༻தʂʂʂʂ ·ͣΧδϡΞϧ໘ஊ͔ΒͰʂʂ
4VEBDIJʷ&MBTUJDTFBSDIͷҠߦͱ ҩྍݕࡧγεςϜਫ਼վળ hiromu-nakamura @po3rin