2015年09月02日
Amazon CloudSearchの設定と使い方
Tweet |
Amazon CloudSearch から始めます。
多分一番最初は Create a new search domain というボタンがあると思います。これを押してください。
インデックス出来る対象は
Analyze sample file(s) from my local machine
Analyze sample object(s) from Amazon S3
Analyze sample item(s) from Amazon DynamoDB
Use a predefined configuration
Manual configuration
という事になっています。
ファイルとかアップロードしてインデックス作成出来るんですが
しかしAWSなんだったら、Amazon DynamoDB を使った方が良いのでしょうか?
mysqlから直にDynamoDBへデータをインポート出来れば良いんですが、色々試してみましたが
やはりそういうことはS3を通さないと無理でしょうか?
ドメイン作成に10分もLOADING状態で待たなければいけないと表示されますが、実際、10分以上かかってる時が多いと思います。
しかし、
最初にインデックスする対象を選んでドメイン作成したはずなんですが、ドメイン作成の段階では何もインデキシングされてないのはどういう事なんでしょうか?
改めてUpload Documentsとは?
What do you want to upload?ここでもう一回ドメイン作成の時と同じことを、
File(s) on my local disk
Object(s) from Amazon S3
Item(s) from Amazon DynamoDB
Predefined data
何か、二回同じ操作をしてるような気がするんですが...
しかしこのインデックスをAWSコンソールから検索しても全然意味ありませんね?
外部から検索して結果を得られなければアプリケーションになりませんよね
そのためにはSearch Endpointというドメインを使うようなのですが
ブラウザからアクセスするだけで検索結果になります。
今のところ、 2011-02-01 と 2013-01-01 しか使えないと思います。
ブラウザでアクセスした時このエラーなのですが、
Deny access to all services などになってると思います。
ポリシーを変更したら、もう一回インデックスを作り直さないと有効にならないのではないかと思います。
また、
ポリシーを変更してインデックス作り直しても、充分時間が経たないと、直ぐには変わらないみたいです。
json形式で結果は返ってくるので、これをパースすれば検索結果は得られるはずですが
セキュリティ上endpointから直接検索してはいけないでしょうか
suggestion機能...Suggesterはどうやって使うのかというと
ここでAdd Suggesterとします。
Fuzzy Matchingは、これはnoneでもSuggestersは使えます。
Suggestersが追加されたのに使えない時がありますが、
Status が Processing のままだと多分Run a Test Searchでもまだ使えないです。
Processingからactiveになるまで2,30分くらいはかかると思います。
あと、このSuggesters for Domain画面の表示は、ちょっとおかしくなる事が何度もありました。
このサジェスターをendpointから呼ぶときは
このようにします。
定期的にインデキシングとかは、AWS CLI などから設定するしかないでしょうか?
ブラウザからアクセスするだけで検索結果になります。
http://search-xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.cloudsearch.amazonaws.com/2013-01-01/search?q=0000この日付がバージョンらしいのですが何でこういう指定をしてるんでしょうか???
今のところ、 2011-02-01 と 2013-01-01 しか使えないと思います。
ブラウザでアクセスした時このエラーなのですが、
{"__type":"#AccessDenied","error":{"message":"[*Deprecated*: Use the outer message field]これは、CloudSearch Dashboardの、Access Policies を設定していないのか、
User: anonymous is not authorized to perform:
cloudsearch:search on resource:
.......................................
"message":"User: anonymous is not authorized to perform: cloudsearch:search on resource:
.......................................
Deny access to all services などになってると思います。
ポリシーを変更したら、もう一回インデックスを作り直さないと有効にならないのではないかと思います。
また、
ポリシーを変更してインデックス作り直しても、充分時間が経たないと、直ぐには変わらないみたいです。
json形式で結果は返ってくるので、これをパースすれば検索結果は得られるはずですが
セキュリティ上endpointから直接検索してはいけないでしょうか
suggestion機能...Suggesterはどうやって使うのかというと
ここでAdd Suggesterとします。
Fuzzy Matchingは、これはnoneでもSuggestersは使えます。
Suggestersが追加されたのに使えない時がありますが、
Status が Processing のままだと多分Run a Test Searchでもまだ使えないです。
Processingからactiveになるまで2,30分くらいはかかると思います。
あと、このSuggesters for Domain画面の表示は、ちょっとおかしくなる事が何度もありました。
このサジェスターをendpointから呼ぶときは
http://search-xxxxxxxxxxxxxxxxxxxxxxx.ap-northeast-1.cloudsearch.amazonaws.com/2013-01-01/suggest?q=000&suggester=suggestername
このようにします。
定期的にインデキシングとかは、AWS CLI などから設定するしかないでしょうか?