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
OpenSearchで作る社員間レコメンドシステム
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
amotz
July 20, 2022
Technology
0
3.1k
OpenSearchで作る社員間レコメンドシステム
Developers.IO 2022というオンラインイベントで発表した資料です
amotz
July 20, 2022
Tweet
Share
More Decks by amotz
See All by amotz
Cloudflare + OpenSearch + Lambdaで始める全文検索開発入門
amotz
0
5.6k
Other Decks in Technology
See All in Technology
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
620
Tebiki Engineering Team Deck
tebiki
0
24k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
AWS DevOps Agent x ECS on Fargate検証 / AWS DevOps Agent x ECS on Fargate
kinunori
2
210
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
520
AI駆動開発を事業のコアに置く
tasukuonizawa
1
390
Cosmos World Foundation Model Platform for Physical AI
takmin
0
980
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Side Projects
sachag
455
43k
Context Engineering - Making Every Token Count
addyosmani
9
670
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
Discover your Explorer Soul
emna__ayadi
2
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
First, design no harm
axbom
PRO
2
1.1k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Transcript
৽نࣄۀ౷ׅ෦1SP fl MZνʔϜ࣋ా३࢙ 0QFO4FBSDIͰ࡞ΔࣾһؒϨίϝϯυγεςϜ
ຊηογϣϯͷରऀ w"NB[PO0QFO4FBSDI4FSWJDF0QFO4FBSDIʹڵຯͷ͋ Δํ w0QFO4FBSDIͷ.PSF-JLF5IJT2VFSZΛͬͨྨࣅυΩϡ ϝϯτݕࡧΛͬͯΈ͍ͨํ w؆қతͳϨίϝϯυػೳͷ։ൃʹڵຯͷ͋Δํ
ຊηογϣϯͷΰʔϧ OpenSearchΛར༻ͨ͠؆қతͳ ϨίϝϯυγεςϜ։ൃख๏ͷཧղ
ࣗݾհ ࣋ా३࢙!BNPU[ w৽نࣄۀ౷ׅ෦1SP fl MZνʔϜ ιϑτΣΞΤϯδχΞ wௗऔͰϑϧϦϞʔτϫʔΫ w4BB4ϓϩμΫτͷاըɾ։ൃɾ
ӡ༻
ΞδΣϯμ ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ ΔϨίϝϯυػೳͷݕ౼ "NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯυݕূ
0QFO4FBSDIΛར༻ͨ͠Ϩίϝϯυݕূ ·ͱΊ
ΞδΣϯμ ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ ΔϨίϝϯυػೳͷݕ౼ "NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯυݕূ
0QFO4FBSDIΛར༻ͨ͠Ϩίϝϯυݕূ ·ͱΊ
ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯ
ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯ
ࣾһϨίϝϯυػೳͷඞཁੑ ࣾίϛϡχέʔγϣϯʹؔ͢Δ՝ʢԾઆʣ wࣾʹͲΜͳࣾһ͕͍Δͷ͔͔Βͳ͍ wͨ͘͞Μ͍Δࣾһ͔Βɺࣗͱڵຯؔ৺͕͍ۙࣾһΛ୳ͨ͠ ͍ɾ·ͨ୳ͨ͢Ίͷ͖͔͚͕ͬཉ͍͠ wͰ͖ΕΞϓϦଆ͔Βͦ͏͍ͬͨࣾһΛ͓קΊͯ͠ཉ͍͠
ࣾһϨίϝϯυػೳͷඞཁੑ Ϩίϝϯυػೳ͕ղܾ͢Δ՝ظ͢ΔޮՌʢԾઆʣ wΞϓϦଆ͕Ϩίϝϯυͯ͘͠ΕΔ͜ͱͰɺ ಉ྅ΛΔ͖͔͚ͬΛಘ͘͢͢Δ wࣗͱڵຯؔ৺͕͍ۙಉ྅ΛΔ͜ͱ͕ Ͱ͖Δ wࣾʹ͓͚Δ৽ͨͳίϛϡχςΟͷൃੜ
৽͍͠ܨ͕Γͷग़Λαϙʔτ͢Δ
ࣾһϨίϝϯυػೳͷ࣮Πϝʔδ
ࣾһϨίϝϯυػೳͷ࣮Πϝʔδ
ࣾһϨίϝϯυػೳͷ࣮Πϝʔδ
ΞδΣϯμ ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ ΔϨίϝϯυػೳͷݕ౼ "NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯυݕূ
0QFO4FBSDIΛར༻ͨ͠Ϩίϝϯυݕূ ·ͱΊ
"NB[PO1FSTPOBMJ[Fͱ w"84͕ఏڙ͢ΔϑϧϚωʔδυܕͷػցֶ शαʔϏε w"NB[PODPNͰഓΘΕͨύʔιφϥΠθʔ γϣϯγεςϜͷΈ͕ө͞Ε͍ͯΔ wػցֶशͷܦݧෆཁͰϨίϝϯσʔγϣϯ αʔϏεΛߏஙͰ͖Δ
"NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯσʔγϣϯ "NB[PO1FSTPOBMJ[FͰఏڙ͞ΕΔϏϧτΠϯΞϧΰ ϦζϜʢϨγϐʣ w64&3@1&340/"-*;"5*0/Ϩγϐ w1&340/"-*;&%@3"/,*/(Ϩγϐ w3&-"5&%@*5&.4Ϩγϐ w64&3@4&(.&/5"5*0/Ϩγϐ
"NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯσʔγϣϯ "NB[PO1FSTPOBMJ[FͰఏڙ͞ΕΔϏϧτΠϯΞϧΰ ϦζϜʢϨγϐʣ w64&3@1&340/"-*;"5*0/Ϩγϐ w1&340/"-*;&%@3"/,*/(Ϩγϐ w3&-"5&%@*5&.4ϨγϐΞΠςϜؒͷྨࣅʢ4*.4ʣ w64&3@4&(.&/5"5*0/Ϩγϐ ࠓճͷཁ݅ʢࣅͨࣾһಉ࢜ͷϨίϝϯυʣ ʹϚονͦ͠͏💪
"NB[PO1FSTPOBMJ[Fͷݕূ ग़యIUUQTEPDTBXTBNB[PODPNKB@KQQFSTPOBMJ[FMBUFTUEHIPXJUXPSLTIUNM
"NB[PO1FSTPOBMJ[Fͷݕূ ػցֶशϞσϧͷτϨʔχϯάΛ։࢝͢ΔͨΊͷ࠷ ݅ w࠷ ݅ͷΠϯλϥΫγϣϯσʔλ աڈσʔλ Ϧ ΞϧλΠϜΠϕϯτσʔλ߹Θͤͯ ͕ଘࡏ͢Δ͜ͱ
wਓҎ্ͷϢχʔΫϢʔβʔ͓Αͼ֤Ϣʔβʔ݅Ҏ্ͷ ΠϯλϥΫγϣϯσʔλ͕ଘࡏ͢Δ͜ͱ IUUQTBXTBNB[PODPNKQCVJMEFSTGMBTI BXTHFFLQFSTPOBMJ[F BXTGGJMUFSOBNF BMM
"NB[PO1FSTPOBMJ[Fͷݕূ ػցֶशϞσϧͷτϨʔχϯάΛ։࢝͢ΔͨΊͷ࠷ ݅ w࠷ ݅ͷΠϯλϥΫγϣϯσʔλ աڈσʔλ Ϧ ΞϧλΠϜΠϕϯτσʔλ߹Θͤͯ ͕ଘࡏ͢Δ͜ͱ
ࠓճͷରͱͳΔσʔλͩͱΞΠςϜগͳ͘ɺ ඞཁͳΠϯλϥΫγϣϯσʔλΛ४උ͢Δͷ͕ͪΐͬͱ ݫ͠Ίɾɾ
"NB[PO1FSTPOBMJ[F͑ͳ͔ͬͨɾɾ ΞΧϯ🥺
ΞδΣϯμ ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ ΔϨίϝϯυػೳͷݕ౼ "NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯυݕূ
0QFO4FBSDIΛར༻ͨ͠Ϩίϝϯυݕূ ·ͱΊ
1SP fl MZͷΞʔΩςΫνϟʢҰ෦ʣ
1SP fl MZͷΞʔΩςΫνϟʢҰ෦ʣ ΞϓϦͷݕࡧػೳʹ 0QFO4FBSDI4FSWJDFΛར༻
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ OpenSearchΛ͍ͬͯΔͳΒ More Like This QueryͰࣅͨࣾһಉ࢜Λ ݕࡧͰ͖ΔͷͰʁ🤔
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ .PSF-JLF5IJT2VFSZʢ.-5ʣͱ wʢ0QFO4FBSDI্ͷʣ͋ΔυΩϡϝϯτʹྨࣅͨ͠υΩϡϝ ϯτΛݕࡧͰ͖Δ wΠϯσοΫε͞ΕͨυΩϡϝϯτҙͷςΩετυΩϡ ϝϯτΛݩʹྨࣅυΩϡϝϯτΛݕࡧͰ͖Δ w࣮ίετ͕͘खܰʹར༻Ͱ͖Δ IUUQTXXXFMBTUJDDPHVJEFFOFMBTUJDTFBSDI SFGFSFODFDVSSFOURVFSZETMNMURVFSZIUNM
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ .PSF-JLF5IJT2VFSZʢ.-5ʣͱ wʢ0QFO4FBSDI্ͷʣ͋ΔυΩϡϝϯτʹྨࣅͨ͠υΩϡϝ ϯτΛݕࡧͰ͖Δ wΠϯσοΫε͞ΕͨυΩϡϝϯτҙͷςΩετυΩϡ ϝϯτΛݩʹྨࣅυΩϡϝϯτΛݕࡧͰ͖Δ w࣮ίετ͕͘खܰʹར༻Ͱ͖Δ IUUQTXXXFMBTUJDDPHVJEFFOFMBTUJDTFBSDI SFGFSFODFDVSSFOURVFSZETMNMURVFSZIUNM
υΩϡϝϯτؒͷྨࣅΛଌΔ͜ͱͰɺ ίϯςϯπϕʔεͷϨίϝϯσʔγϣϯ͕ Ͱ͖ͦ͏
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ .PSF-JLF5IJT2VFSZʢ.-5ʣͷΈ w5'*%'ʢUFSNGSFRVFODZrJOWFSTFEPDVNFOU GSFRVFODZʣΛ׆༻ͨ͠ݕࡧ wυΩϡϝϯτ্ͷ୯ޠͷॏཁੑΛධՁ͠ɺͦΕΛυΩϡϝϯτͷಛྔͱ͠ ͯྨࣅΛఆ͢Δ
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ .PSF-JLF5IJT2VFSZʢ.-5ʣͷΈ w5'*%'ʢUFSNGSFRVFODZrJOWFSTFEPDVNFOU GSFRVFODZʣΛ׆༻ͨ͠ݕࡧ
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ 1SP fl MZʹ͓͚ΔࣾһϓϩϑΟʔϧͷυΩϡϝϯτ wࣗݾհ wεΩϧ wλά wࢿ֨ wڵຯɾؔ৺FUDʜ
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ 1SP fl MZʹ͓͚ΔࣾһϓϩϑΟʔϧͷυΩϡϝϯτ wࣗݾհ wεΩϧ wλά wࢿ֨ wڵຯɾؔ৺FUDʜ
֤߲ʹରͯ͠.-5Ͱྨࣅ͢ΔυΩϡϝ ϯτʢࣾһϓϩϑΟʔϧʣΛݕࡧ͠ɺ ࠷ߴ͍είΞͷࣾһΛϨίϝϯυ͢Δ
Ϩίϝϯυ༻ͷ.-5ΫΤϦॻ͍ͯΈΔ
Ϩίϝϯυ༻ͷ.-5ΫΤϦॻ͍ͯΈΔ .-5ΫΤϦΛར༻ͯ͠ྨࣅυ ΩϡϝϯτʢࣾһϓϩϑΟʔϧʣ Λݕࡧ
Ϩίϝϯυ༻ͷ.-5ΫΤϦॻ͍ͯΈΔ MJLFʹϨίϝϯυ͞ΕΔࣾһ ϓϩϑΟʔϧͷυΩϡϝϯτΛࢦఆ
Ϩίϝϯυ༻ͷ.-5ΫΤϦॻ͍ͯΈΔ ݕࡧ͢Δ߲͝ͱʹCPPTUΛࢦఆ͢Δ ͜ͱͰɺϨίϝϯυͷධՁͰॏࢹ͢Δ߲ ΛௐͰ͖Δ
Ϩίϝϯυ༻ͷ.-5ΫΤϦॻ͍ͯΈΔ NJO@TDPSFΛࢦఆ͢Δ͜ͱͰɺྨࣅ ͕͍υΩϡϝϯτআ֎͢Δ͜ͱ͕ Ͱ͖Δ
Ϩίϝϯυ༻ͷ.-5ΫΤϦୟ͍ͯΈΔ
Ϩίϝϯυ༻ͷ.-5ΫΤϦୟ͍ͯΈΔ Ұ൪είΞ͕ߴ͔ͬͨࣾһΛ Ϩίϝϯυ͢Δࣾһͱ͢Δ
࣮ࡍͷϓϩϑΟʔϧ͍͔ͭ͘ڞ௨͕͋Γͦ͏
࣮ࡍͷϓϩϑΟʔϧ͍͔ͭ͘ڞ௨͕͋Γͦ͏
.-5ΫΤϦʹΑΔϨίϝϯσʔγϣϯ ྑͦ͞͏ 👍
Ϩίϝϯυ"1*ͱ࣮ͯ͠ όοΫΤϯυ"1*ͱͯ͠ɺҎԼΛߟྀͯ͠ઌ΄ͲͷΫΤ ϦΛΈࠐΉ wϨίϝϯυࡁΈͷࣾһҰఆظؒ Ϩίϝϯυର֎ʹ͢Δ wಉ͡෦ॺͷࣾһϨίϝϯυର֎ͱ ͢Δ
wFUDʜ
ϑϩϯτΤϯυࣾһϨίϝϯυػೳͷՃ
0QFO4FBSDIͰϨίϝϯσʔγϣϯνϟϨϯδ MLTΫΤϦʹΑΓɺͻͱ·ͣ؆қతͳ ࣾһϨίϝϯυγεςϜ͕࣮ݱͰ͖·ͨ͠😁
ΞδΣϯμ ϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ ΔϨίϝϯυػೳͷݕ౼ "NB[PO1FSTPOBMJ[FΛར༻ͨ͠Ϩίϝϯυݕূ
0QFO4FBSDIΛར༻ͨ͠Ϩίϝϯυݕূ ·ͱΊ
ຊηογϣϯͷ·ͱΊ wϓϩϑΟʔϧϏϡʔΞʔαʔϏεʮ1SP fl MZʯʹ͓͚ΔϨίϝ ϯυػೳͷݕ౼ w0QFO4FBSDIΛ༻͍ͨ؆қతͳϨίϝϯυػೳͷ࣮ݱ w.PSF-JLF5IJT2VFSZʹΑΔྨࣅυΩϡϝϯτݕࡧϨί ϝϯσʔγϣϯʹԠ༻͢Δ͜ͱ͕Ͱ͖Δ
ࠓޙͷ՝💪 w.PSF-JLF5IJT2VFSZʹΑΔϨίϝϯσʔγϣϯͷਫ਼ ੳɾධՁ wίαΠϯྨࣅ L// Λ༻͍ͨϨίϝϯσʔγϣϯͱͷൺֱ wIUUQTEPDTBXTBNB[PODPNKB@KQPQFOTFBSDITFSWJDFMBUFTU EFWFMPQFSHVJEFLOOIUNM wϨίϝϯυػೳͦͷͷͷ༗༻ੑධՁ
None