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
PRO
February 24, 2018
Programming
0
530
Slackの全文検索 サービスを作った話 / slack-search
odanado
PRO
February 24, 2018
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
3.5k
@nestjs/bull の活用について
odanado
PRO
0
1.3k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
0
1.1k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
320
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
370
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
210
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
460
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.2k
Other Decks in Programming
See All in Programming
Unity Android XR入門
sakutama_11
0
140
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
29
11k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
110
技術を根付かせる / How to make technology take root
kubode
1
240
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
CNCF Project の作者が考えている OSS の運営
utam0k
5
690
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
240
AHC041解説
terryu16
0
590
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
Domain-Driven Transformation
hschwentner
2
1.9k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Visualization
eitanlees
146
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Site-Speed That Sticks
csswizardry
3
370
A designer walks into a library…
pauljervisheath
205
24k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
Navigating Team Friction
lara
183
15k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Optimizing for Happiness
mojombo
376
70k
Writing Fast Ruby
sferik
628
61k
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Ͱॻ͖͍ͨ