FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

RubyからAmazon CloudSearchを操作する(AWS SDK Version2版)

こんにちは@joytomoです。
全文検索エンジンと言えば近頃はElasticsearchが元気ですが、
いろいろあって今回はAmazon CloudSearchを使ってみました。

AWS SDKは昨年メジャーアップデートがあり、
それ以降のCloudSearch周りの日本語資料があまり見つからないので、
個人的なメモも兼ねて導入部分を紹介します。

CloudSearchの設定

早速AWSコンソールからからCloudSearchを開いてみましょう。
他のAWSのサービスと同様に、メニューバーの「Service」から選択して開くことができます。
f:id:no_sugiyama:20150722163618p:plain

この画面では手動で「Domain」を作成したり、「Index Fields」の構成を行ったりできます。
DomainというのはRDBで言うところのテーブルで、Index Fieldsはテーブル定義みたいなものです。

今回はRubySDKからDomainを作ったりするのが目的なので、
この画面での操作方法は割愛します。

ではSDKからAWSにアクセスするため、
ACCESS_KEYとSECRET_ACCESS_KEYを発行していきましょう。

この辺りは既知の方も多いと思いますので詳細は省きますが、
Security Credentialsを開いてユーザを発行しましょう。
f:id:no_sugiyama:20150722163653p:plain

ユーザを作成するとACCESS_KEYとSECRET_ACCESS_KEYが発行されます。
続いて、Usersのリストから今作成したユーザを開き、ポリシーを追加します。
まずAttach Policyをクリックしましょう。
f:id:no_sugiyama:20150722163714p:plain

「CloudSearchFullAccess」を選択します。
f:id:no_sugiyama:20150722163730p:plain

するとポリシーが追加されました。
f:id:no_sugiyama:20150722163751p:plain

これでSDKからCloudSearchにアクセスする準備は完了です。

Rubyから操作する

まずは準備です。gemのaws-sdkをインストールします。

>|xml|
$gem install aws-sdk
|