Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CloudSearch nanapi use case
Search
violetyk
October 17, 2014
Technology
2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CloudSearch nanapi use case
violetyk
October 17, 2014
More Decks by violetyk
See All by violetyk
Graid
violetyk
2
7k
Other Decks in Technology
See All in Technology
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
120
SLOを阻む不安
sraku2159
0
230
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
310
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
3.2k
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
150
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
eBPF 簡介 2026 版
shunghsiyu
0
190
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
HQ駆動開発で最高のAI-Contextを作ろう
sansantech
PRO
1
110
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
120
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Raft: Consensus for Rubyists
vanstee
143
7.9k
Building the Perfect Custom Keyboard
takai
2
950
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
48k
Product Roadmaps are Hard
iamctodd
55
13k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
610
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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ͰΒ͘Β͘ݕࡧʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠