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
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
12k
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
730
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
280
2025年 山梨の技術コミュニティを振り返る
yuukis
0
140
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
180
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
150
AWS re:Invent 2025 を振り返る
kazzpapa3
2
100
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
6
2.5k
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4.2k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
260
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
190
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
580
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
34
How to Ace a Technical Interview
jacobian
281
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Docker and Python
trallard
47
3.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Believing is Seeing
oripsolob
0
19
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
220
Chasing Engaging Ingredients in Design
codingconduct
0
93
Paper Plane (Part 1)
katiecoart
PRO
0
2.7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
270
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