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
960
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
November 26, 2021
Tweet
Share
More Decks by po3rin
See All by po3rin
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
350
麻雀点数計算問題生成タスクから学ぶ Single Agentの限界と Agentic Workflowの底力
po3rin
5
2.3k
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
1.1k
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
4
2.5k
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
390
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
1
360
検索基盤移行時の思考
po3rin
0
4.3k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
6.2k
Elasticsearchを負荷から守るesguard
po3rin
0
310
Other Decks in Programming
See All in Programming
CSC509 Lecture 04
javiergs
PRO
0
300
Advance Your Career with Open Source
ivargrimstad
0
540
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
160
Catch Up: Go Style Guide Update
andpad
0
230
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
920
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
870
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.2k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
4.1k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
140
Claude Agent SDK を使ってみよう
hyshu
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
340
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
Featured
See All Featured
Balancing Empowerment & Direction
lara
4
690
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Automating Front-end Workflow
addyosmani
1371
200k
Docker and Python
trallard
46
3.6k
Optimizing for Happiness
mojombo
379
70k
RailsConf 2023
tenderlove
30
1.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Typedesign – Prime Four
hannesfritz
42
2.8k
Designing for Performance
lara
610
69k
Rails Girls Zürich Keynote
gr2m
95
14k
Documentation Writing (for coders)
carmenintech
75
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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