×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
CloudSearch nanapiͷࣄྫհ גࣜձࣾnanapiɹՃլ୩ ༞ฏ
Slide 2
Slide 2 text
ࣗݾհ • Ճլ୩ ༞ฏɹ • גࣜձࣾnanapi • nanapi.jpνʔϜɹαʔόαΠυΤϯδχΞ • Vim͕͖ violetyk @yuhei_kagaya
Slide 3
Slide 3 text
αʔϏεհɹnanapi • ੜ׆ͷܙ͕ू·ΔαΠτ • http://nanapi.jp • ༷ʑͳϋπʔΛఏڙ͢Δ αʔϏε • ݄ؒ2500ສUU • 10ສهࣄ
Slide 4
Slide 4 text
αʔϏεհɹnanapiϫʔΫε • ʮnanapiʯϥΠλʔͷҝ ͷϥΠςΟϯάελδΦ • https://works.nanapi.jp
Slide 5
Slide 5 text
αʔϏεհɹanswer • ଈϨείϛϡχέʔγϣϯΞ ϓϦ • http://answer.jp • 5Ҏͷίϝϯτ͕84%Ҏ্ • 140ສίϝϯτ • iOS൛ 201312݄ϦϦʔε • Android൛20145݄ϦϦʔε
Slide 6
Slide 6 text
αʔϏεհɹIGNITION • ίϯηϓτʮຊͱੈ քΛܨ͙ʯϝσΟΞ • http://ignition.co • ຊͷάϩʔόϧԽΛՃ ͢ΔͨΊʹɺຊͷ ใΛӳޠͰੈքʹൃ৴ • Χϧνϟʔ͔ΒϏδωε ·Ͱ෯͘հ
Slide 7
Slide 7 text
nanapiͰ CloudSearchΛ͍ͬͯ·͢
Slide 8
Slide 8 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 9
Slide 9 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 10
Slide 10 text
AWSͷҠߦ • 20147݄ɹΠϯϑϥΛAWSશͯҠߦ • ը૾ΦϦδϯαʔόɹˠɹS3 • MemcacheɺRedis ɹˠɹElastiCache • MySQLɹɹɹɹɹ ɹˠɹRDS • શจݕࡧɹɹɹɹ ɹˠɹCloudSearch
Slide 11
Slide 11 text
nanapiͷݕࡧγεςϜ Senna ↓ mroonga ↓ CloudSearch
Slide 12
Slide 12 text
CloudSearchͷӡ༻ • 100,000 υΩϡϝϯτ • 1υϝΠϯ • search.m1.small
Slide 13
Slide 13 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 14
Slide 14 text
nanapiͷهࣄݕࡧ
Slide 15
Slide 15 text
ʮӡಈձʯ×ʮྉཧϨγϐʯ
Slide 16
Slide 16 text
ʮӡಈձʯ×ʮΧϝϥɾࣸਅʯ
Slide 17
Slide 17 text
ʮӡಈձʯ×ʮεϙʔπɾΞτυΞʯ
Slide 18
Slide 18 text
ͱ͍͍ͯײ͡ʂ
Slide 19
Slide 19 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 20
Slide 20 text
CloudSearchೖΕΔσʔλ • ݕࡧ༻ • ιʔτ༻ • දࣔ༻
Slide 21
Slide 21 text
ݕࡧ༻ • هࣄͷλΠτϧɺຊจ • ΧςΰϦ໊ͷ֊ߏ
Slide 22
Slide 22 text
ιʔτ༻ • PV • هࣄͷࣥච࣌
Slide 23
Slide 23 text
දࣔ༻ • هࣄͷΞτϥΠϯ • ஶऀใ • هࣄͷΩϟονը૾ͷURL
Slide 24
Slide 24 text
σʔλͷܕ
Slide 25
Slide 25 text
֤ςʔϒϧߋ৽࣌ʹίʔϧόοΫ هࣄ ஶऀ ΧςΰϦ ݕࡧσʔλ afterSave()
Slide 26
Slide 26 text
CloudSearchอଘ هࣄ ஶऀ ΧςΰϦ ݕࡧσʔλ afterSave() CloudSearch
Slide 27
Slide 27 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 28
Slide 28 text
CakePHP + CloudSearch • CakePHP͔ΒCloudSearchΛૢ࡞͢ΔϓϥάΠϯ • https://github.com/nanapi/cakephp-cloud-search • AWS SDK for PHPΛϥοϓͨ͠Datasource • CakePHPͷModelͱͯ͠ѻ͏͜ͱ͕Ͱ͖Δ • Modelͱಉ͡ϝιουɺfind() / save()
Slide 29
Slide 29 text
อଘ // save $save_data = $this->MyModel->create(); $save_data = [ 'id' => '123', 'fields' => [ 'subject' => 'ژͰͷ͓͢͢Ίͷ͓࢈' 'outline' => ['ژͷ͓࢈', '࣮ࡍʹങͬͨ͜ͱͷ͋Δ͓࢈', 'ژͷ͓࢈ʹ͍ͭͯ ͷΞυόΠε'] ] ]; $this->MyModel->save($save_data);
Slide 30
Slide 30 text
ܕUTC ! CakeTime::i18nFormat($created, "%FT%TZ", false, new DateTimeZone('UTC'));
Slide 31
Slide 31 text
ݕࡧ // find $result = $this->MyModel->find('all', [ 'conditions' => [ 'query' => 'ژ' ], 'fields' => [ 'id', 'subject', '_score' ] ]);
Slide 32
Slide 32 text
আ // delete $this->MyModel->delete(123); ! $this->MyModel->deleteAll([ 'MyModel.id' => ['111', '222', '333'], ]);
Slide 33
Slide 33 text
؆୯ɺγϯϓϧʂ
Slide 34
Slide 34 text
ࠓ͢͜ͱ ̍ɽCloudSearchಋೖͷ͖͔͚ͬ ̎ɽݕࡧ͍ͯ͠Δͷ ̏ɽݕࡧσʔλͷͭ͘Γ͔ͨ ̐ɽݕࡧͷ͔ͨ͠ ̑ɽCloudSearchͷϝϦοτ
Slide 35
Slide 35 text
CloudSearchͷϝϦοτ • σϑΥϧτͷ··Ͱ͍͍ײ͡ʹݕࡧͰ͖Δ • ؆୯ʹຊޠશจݕࡧγεςϜΛ࡞ΕΔ • ͱʹָ͔͘
Slide 36
Slide 36 text
CloudSearchͰΒ͘Β͘ݕࡧʂ
Slide 37
Slide 37 text
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠