Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
0
1.1k
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
460
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
420
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
300
regrowth_tokyo_2025_securityagent
hiashisan
0
230
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
290
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
120
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
120
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
400
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
170
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
360
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Unsuck your backbone
ammeep
671
58k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How to train your dragon (web standard)
notwaldorf
97
6.4k
The Cult of Friendly URLs
andyhume
79
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Designing Experiences People Love
moore
143
24k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
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