2009-04-10 7 views
5

EC2 Asp.NetアプリケーションからAmazon SimpleDBでキーワード検索を実行する最善の方法について考えている人がいるかどうかは疑問です。キーワード検索に最適な方法Amazon SimpleDBはEC2とAsp.Netを使用していますか?

私は検討していますカップルのオプションがあります。

1)多値属性にキーワードを追加などの照会で検索:keywordTableキーワード=「firstword」交差点のキーワード=「secondword」から 。SELECT ID交差点のキーワード= 'thirdword'

Amazon Query Example

2)刈田にWebサービスのフロントエンドを作成します。

Katta on EC2

3)定期的にLuceneインデックスをクラウドにプッシュするキューに登録されたLucene.Netアップデートサービス。あなたは(述べたように、質問ごとに)厳密SimpleDBの解決策を探しているなら

Load balance Lucene(StackOverflow post)

Lucene on S3 (blog post)

答えて

1

LightspeedのSimpleDBプロバイダSolrとSolrNetを使ってLightspeed用のカスタム検索プロバイダを作成しました。ライトスピードのためISearchEngineインターフェイスを実装する上

情報: http://www.mindscape.co.nz/blog/index.php/2009/02/25/lightspeed-writing-a-custom-search-engine/

そして、これは我々が使用しているSolrのライブラリです: http://code.google.com/p/solrnet/

をSolrには簡単にEC2のマシンを使用してスケーリングすることができるので、これはにほとんど意味を成していました米国。

1

(「ロック」問題を回避するために)刈田とLuceneのは、あなたを助けにはなりません。単なる「Amazonインフラストラクチャ」ベースのソリューションを探しているなら、いずれかの選択肢が機能します。

3つのオプションはどれだけの設定と管理が必要なのか、実際の要件によって最適なものを決めるのかという点で異なります。

シンプルさと最小限の管理が必要な場合は、Keywordという名前の複数値属性を持つSimpleDBが最適です。関連性の高い順に並べ替える必要がない場合。セットアップまたは管理するものは何もなく、実際のCPUの&の帯域幅に対してのみ課金されます。

Luceneはキーワード検索以上のものが必要な場合は最適ですが、インデックスの更新は自分で管理してください。また、SimpleDBで取得した負荷分散、バックアップ、フェイルオーバーも管理する必要があります。フェイルオーバーを気にせず、EC2クラッシュの場合にリストアを実行している間に時間を許すことができれば、それは心配することが少なくなり、SimpleDBを好む理由が1つ少なくなります。

EC2でKattaを使用すると、自分ですべてを管理できます。あなたには最も柔軟性があり、最も多くの仕事があります。

+0

ありがとうMocky、私はstrickly SimpleDBソリューションを実装していないことがますます増えています。それはあまりにも限られている。 AWSでは多くのフルテキスト検索ソリューションが利用できないことは驚くべきことです。特に、ウェブサイトが弾力的な負荷分散をしている場合。 – josefresno

1

Simple SavantはSimpleDB用のオープンソース.NET永続ライブラリであり、Lucene.NET(私はSimple Savantクリエイター)を使ったフルテキスト検索を統合サポートしています。

全文索引付けアプローチはhereと記載されています。

関連する問題