& CloudSearch
Fumikazu Kiyota Vuzz Inc. 2014/05/15 @AWS Meguro
Index
• Self-introduction
• About SnapDish
• Why CloudSearch?
• How we use CloudSearch
• Summary
[self print]
★ Working for Vuzz Inc.
★ Language

Objective-C, Python, Japanese,
English
★ Member of PyCon JP 2014
★ @kiyotaman - twitter
★ Everyday Zazen(meditating) in
the morning.
★ 4 years experience in AWS
SnapDish?
SnapDish って?
Our mission
Help people
cooking everyday!
at SnapDish
Share
Communicate
Find Friends
in Common
Enjoy Cooking!
Image Source: http://www.cancook.co.uk/wp-content/uploads/2010/06/cancookschools.jpg
Why CloudSearch?
Simple & Easy Installation
Powerful & Reliable Service
Reasonable & Affordable Price
How we use
CloudSearch.
Search
users & dishes
User search fields
• Full name - multilingual text 



ex. アマゾン 太郎
• Account name - Alphabet text



ex. AmazonTarou
• Bio - multilingual text



ex. お寿司とラーメン大好き❤(Love sushi and ramen)
Search query
/2013-01-01/search?q=(or (prefix field=screen_name '寿司')
name:'寿司' bio:'寿司')&start=0&q.options={"fields":
["screen_name^10", "name^5", "bio"]}
&q.parser=structured&size=300
When update index
・Create a user profile
!
・Update a user profile
!
・Delete a user profile
Job Queue
App Server
(Cached)
Job Queue CloudSearch
Client
Enqueue
Add, Delete, Update
DB
Dish search fields
(using old version)
• Tokenize - Tokenized text 



ex. 寿司 すし スシ お寿司 大好き





※ Still using old API…
Search query
/2011-02-01/search?rank=-
text_relevance&facet=homemade,recipe,cookedit,ingredients
&start=0&return-fields=userid&size=300&bq=(and
tokenize:'+すし*' (not recipe:"1"))
When update index
・Create a dish detail
・User action on a dish detail

Yummy(Like), Comment, Resnap(Retweet), View, etc..

・Delete dish detail
App Server
(Cached)
SQS
Batch
Worker Server
Tokenize
CloudSearch
Client
SQS
Add, Delete, Update
within 5MB
(Batch Size Limitation)
Enqueue
DB
http://docs.aws.amazon.com/cloudsearch/latest/developerguide/limits.html
2011-02-11 to 2013-01-01
• Migration Task
• Indexing options
• Analysis Scheme
• Sort Expression
• Batch worker
• Search query
• Tokenise
Summary
• SnapDish is for foodies
• Two ways to update index 

(SQS & Batch Recommended)
• Own dictionary gives you better search result
Thank you
m(_ _)m
https://pycon.jp/2014/
Waiting for your!
PyCon JP 2014 Sponsorship and CfP!

SnapDish&CloudSearch@aws