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
amotz
July 20, 2022
Technology
0
3k
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
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
250
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
340
Redshift認可、アップデートでどう変わった?
handy
1
130
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
6
2.9k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.2k
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.7k
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
490
Featured
See All Featured
Side Projects
sachag
455
43k
The untapped power of vector embeddings
frankvandijk
1
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
730
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
92
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
360
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
82
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
Producing Creativity
orderedlist
PRO
348
40k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
So, you think you're a good person
axbom
PRO
0
1.9k
Agile that works and the tools we love
rasmusluckow
331
21k
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