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
CloudSearch nanapi use case
Search
violetyk
October 17, 2014
Technology
3
2k
CloudSearch nanapi use case
violetyk
October 17, 2014
Tweet
Share
More Decks by violetyk
See All by violetyk
Graid
violetyk
2
6.9k
Other Decks in Technology
See All in Technology
AWS DDoS攻撃防御の最前線
ryutakondo
1
160
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
640
Serverless Meetup #21
yoshidashingo
1
120
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
370
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
22
5.3k
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
150
AI関数が早くなったので試してみよう
kumakura
0
300
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
990
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
340
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
720
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
3
360
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.4k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Optimizing for Happiness
mojombo
379
70k
Balancing Empowerment & Direction
lara
1
540
Building an army of robots
kneath
306
45k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
It's Worth the Effort
3n
185
28k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Site-Speed That Sticks
csswizardry
10
770
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing Experiences People Love
moore
142
24k
Transcript
CloudSearch nanapiͷࣄྫհ גࣜձࣾnanapiɹՃլ୩ ༞ฏ
ࣗݾհ • Ճլ୩ ༞ฏɹ • גࣜձࣾnanapi • nanapi.jpνʔϜɹαʔόαΠυΤϯδχΞ • Vim͕͖
violetyk @yuhei_kagaya
αʔϏεհɹnanapi • ੜ׆ͷܙ͕ू·ΔαΠτ • http://nanapi.jp • ༷ʑͳϋπʔΛఏڙ͢Δ αʔϏε • ݄ؒ2500ສUU
• 10ສهࣄ
αʔϏεհɹnanapiϫʔΫε • ʮnanapiʯϥΠλʔͷҝ ͷϥΠςΟϯάελδΦ • https://works.nanapi.jp
αʔϏεհɹanswer • ଈϨείϛϡχέʔγϣϯΞ ϓϦ • http://answer.jp • 5Ҏͷίϝϯτ͕84%Ҏ্ • 140ສίϝϯτ
• iOS൛ 201312݄ϦϦʔε • Android൛20145݄ϦϦʔε
αʔϏεհɹIGNITION • ίϯηϓτʮຊͱੈ քΛܨ͙ʯϝσΟΞ • http://ignition.co • ຊͷάϩʔόϧԽΛՃ ͢ΔͨΊʹɺຊͷ ใΛӳޠͰੈքʹൃ৴
• Χϧνϟʔ͔ΒϏδωε ·Ͱ෯͘հ
nanapiͰ CloudSearchΛ͍ͬͯ·͢
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
AWSͷҠߦ • 20147݄ɹΠϯϑϥΛAWSશͯҠߦ • ը૾ΦϦδϯαʔόɹˠɹS3 • MemcacheɺRedis ɹˠɹElastiCache • MySQLɹɹɹɹɹ
ɹˠɹRDS • શจݕࡧɹɹɹɹ ɹˠɹCloudSearch
nanapiͷݕࡧγεςϜ Senna ↓ mroonga ↓ CloudSearch
CloudSearchͷӡ༻ • 100,000 υΩϡϝϯτ • 1υϝΠϯ • search.m1.small
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
nanapiͷهࣄݕࡧ
ʮӡಈձʯ×ʮྉཧϨγϐʯ
ʮӡಈձʯ×ʮΧϝϥɾࣸਅʯ
ʮӡಈձʯ×ʮεϙʔπɾΞτυΞʯ
ͱ͍͍ͯײ͡ʂ
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
CloudSearchೖΕΔσʔλ • ݕࡧ༻ • ιʔτ༻ • දࣔ༻
ݕࡧ༻ • هࣄͷλΠτϧɺຊจ • ΧςΰϦ໊ͷ֊ߏ
ιʔτ༻ • PV • هࣄͷࣥච࣌
දࣔ༻ • هࣄͷΞτϥΠϯ • ஶऀใ • هࣄͷΩϟονը૾ͷURL
σʔλͷܕ
֤ςʔϒϧߋ৽࣌ʹίʔϧόοΫ هࣄ ஶऀ ΧςΰϦ ݕࡧσʔλ afterSave()
CloudSearchอଘ هࣄ ஶऀ ΧςΰϦ ݕࡧσʔλ afterSave() CloudSearch
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
CakePHP + CloudSearch • CakePHP͔ΒCloudSearchΛૢ࡞͢ΔϓϥάΠϯ • https://github.com/nanapi/cakephp-cloud-search • AWS SDK
for PHPΛϥοϓͨ͠Datasource • CakePHPͷModelͱͯ͠ѻ͏͜ͱ͕Ͱ͖Δ • Modelͱಉ͡ϝιουɺfind() / save()
อଘ // save $save_data = $this->MyModel->create(); $save_data = [ 'id'
=> '123', 'fields' => [ 'subject' => 'ژͰͷ͓͢͢Ίͷ͓࢈' 'outline' => ['ژͷ͓࢈', '࣮ࡍʹങͬͨ͜ͱͷ͋Δ͓࢈', 'ژͷ͓࢈ʹ͍ͭͯ ͷΞυόΠε'] ] ]; $this->MyModel->save($save_data);
ܕUTC ! CakeTime::i18nFormat($created, "%FT%TZ", false, new DateTimeZone('UTC'));
ݕࡧ // find $result = $this->MyModel->find('all', [ 'conditions' => [
'query' => 'ژ' ], 'fields' => [ 'id', 'subject', '_score' ] ]);
আ // delete $this->MyModel->delete(123); ! $this->MyModel->deleteAll([ 'MyModel.id' => ['111', '222',
'333'], ]);
؆୯ɺγϯϓϧʂ
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
CloudSearchͷϝϦοτ • σϑΥϧτͷ··Ͱ͍͍ײ͡ʹݕࡧͰ͖Δ • ؆୯ʹຊޠશจݕࡧγεςϜΛ࡞ΕΔ • ͱʹָ͔͘
CloudSearchͰΒ͘Β͘ݕࡧʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠