$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenSearchで作る社員間レコメンドシステム
Search
amotz
July 20, 2022
Technology
0
2.7k
OpenSearchで作る社員間レコメンドシステム
Developers.IO 2022というオンラインイベントで発表した資料です
amotz
July 20, 2022
Tweet
Share
More Decks by amotz
See All by amotz
Cloudflare + OpenSearch + Lambdaで始める全文検索開発入門
amotz
0
5.2k
Other Decks in Technology
See All in Technology
ヤプリのデータカタログ整備 1年間の歩み / Progress of Building a Data Catalog at Yappli
yamamotoyuta
3
260
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
310
データカタログを自作したけど 運用しなかった話@Findy Lunch LT「データカタログ 事例から学ぶメタデータ管理の実態」
ryo_suzuki
1
300
2024年のAmazon Bedrockアップデート一挙おさらい 〜まだ間に合う! re:Invent直前までの重大ニュースを速習しよう〜
minorun365
PRO
3
120
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
380
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
2.5k
Mastering Quickfix
daisuzu
2
400
Windows Server 2025 Pay as you Go ライセンスを試す
murachiakira
0
120
SAP Community and Developer Update
sygyzmundovych
0
350
モバイルアプリ開発未経験者が プロダクト開発に携わるまでに取り組んだこと/nikkei-tech-talk-27-3
nikkei_engineer_recruiting
0
110
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
5
1.3k
静的解析で実現した効率的なi18n対応の仕組みづくり
minako__ph
2
2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Done Done
chrislema
181
16k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
KATA
mclloyd
29
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
The Cult of Friendly URLs
andyhume
78
6.1k
Docker and Python
trallard
40
3.1k
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