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
Slackの全文検索 サービスを作った話 / slack-search
Search
odanado
February 24, 2018
Programming
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slackの全文検索 サービスを作った話 / slack-search
odanado
February 24, 2018
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
3
5.6k
@nestjs/bull の活用について
odanado
0
1.6k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
0
1.3k
Vue.observable で状態管理 / vue-observable-state-management
odanado
4
2.1k
nuxtjs-axios-error-handling
odanado
0
410
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
0
460
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
0
290
最近のweb3.js事情 / bc.tokyo-19
odanado
2
570
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
1
2.4k
Other Decks in Programming
See All in Programming
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
バグを直したら useEffect が消えた
colorful12
3
650
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.8k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
190
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
520
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
330
テーブルをDELETEした
yuzneri
0
150
今さら聞けない .NET CLI
htkym
0
200
プロポーザルを書いてもらう
pvcresin
0
560
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
600
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
150
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Balancing Empowerment & Direction
lara
6
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Six Lessons from altMBA
skipperchong
29
4.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
500
The Spectacular Lies of Maps
axbom
PRO
1
930
WENDY [Excerpt]
tessaabrams
11
39k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Transcript
Slackͷશจݕࡧ αʔϏεΛ࡞ͬͨ
Slackͷ՝ • ϑϦʔϓϥϯͷSlackʹ৭ʑ੍ݶ͕͋Δ • App(bot) 10ݸ·Ͱ • ετϨʔδ༰ྔͷ੍ݶ • ۙ1ສ݅ΑΓݹ͍ϝοηʔδࢀরෆՄೳ
• ͜ΕΒͷ੍ݶେֶͷ෦׆Ͱʹͳ͍ͬͯͨ • ༗ྉϓϥϯΞΫςΟϒϢʔβ1ਓʹ͖ͭຖ݄ 1000ԁ • ֶੜϓϥϯΛద༻ׂͯ͠ߴ • SlackͷϩάΛશจݕࡧ͢ΔαʔϏε • SlackͷϩάadminͳΒzipͰμϯϩʔυՄೳ
γεςϜͷ֓ཁ શจݕࡧ όοΫΤϯυ Ϣʔβͷtokenཧ ϑϩϯτΤϯυ OAuthೝূ
ϑϩϯτΤϯυ • nuxt.js • φΫετ ͱಡΉ • vue.jsΛ༻͍ͨwebΞϓϦΛ ։ൃ͢ΔͨΊͷϑϨʔϜϫʔΫ •
ΠέΠέ • vue.js • ԾDOMΛ༻͍ͨߴͳHTMLੜ • ίϯϙʔωϯτࢦ • element-ui • vue.jsͷίϯϙʔωϯτϥΠϒϥϦ
όοΫΤϯυ • Flask • PythonͷwebϑϨʔϜϫʔΫ • DjangoΑΓѻ͍͍͢ϑϨʔϜϫʔΫ • ࣮ࡍ؆୯
ϛυϧΣΞ • ElasticSearch • JavaͷશจݕࡧΤϯδϯ • ܗଶૉղੳ kuromoji • ࣙॻ
neologd • ώʔϓαΠζ 512MB • ະࢦఆͰىಈͨ͠ΒMac͕ϑϦʔζ͔͚ͨ͠… • PostgreSQL • ϊϦͰબΜͩ • Python͔ΒSQLalchemyͱ͍ϥΠϒϥϦͰୟ͍ͨ
Πϯϑϥ • Docker • ίϯςφܕԾԽ • docker-compose • ෳͷίϯςφΛ·ͱΊͯѻ͑Δͭ •
docker-compose up Λ࣮ߦ͢Ε αʔϏε͕ಈ͘
γεςϜͷ֓ཁ Ϣʔβೝূ OAuthϦΫΤετ ίʔϧόοΫ tokenൃߦ (Json Web Token)
γεςϜͷ֓ཁ ݕࡧ token+ݕࡧϫʔυ ݕࡧΫΤϦ લͬͯzip͔Β σʔλΛ ΠϯϙʔτࡁΈ Ϣʔβͷ֬ೝ
σϞ
ࠓޙͷ՝ • ແݶϦϩʔυͷ࣮ • element-uiʹόά͕͋Γ࣮ͷݟ௨͠ͳ͠ • ElasticSearchͷνϡʔχϯά • ݱঢ়ετοϓϫʔυʹϚον͢Δ •
෦һޠΛkuromojiͷࣙॻʹొ • Sudachi͕͍͍ͱฉ͘ͷͰࢼ͍ͨ͠ • ը૾ͷදࣔ • ϝοηʔδதʹը૾URL͕͋ΕͦΕΛදࣔ • ֆจࣈͷදࣔ • Slack RTM API͔ΒݕࡧIndexߏங • όοΫΤϯυΛrailsͰॻ͖͍ͨ