5

EC2Asp.NetアプリケーションからAmazonSimpleDBでキーワード検索を実行するための最良の方法について誰かが考えているかどうか疑問に思います。

私が検討しているいくつかのオプションは次のとおりです。

1)複数値属性にキーワードを追加し、次のようなクエリで検索します。select idfromkeywordTableここでkeyword='firstword'交差キーワード='secondword'交差キーワード='thirdword'

Amazonクエリの例

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

EC2のKatta

3)Luceneインデックスをクラウドに定期的にプッシュするキューに入れられたLucene.Net更新サービス。(「ロック」の問題を回避するため)

負荷分散Lucene(StackOverflow post)

Lucene on S3(ブログ投稿)

4

3 に答える 3

1

Simple Savantは、SimpleDB用のオープンソースの.NET永続化ライブラリであり、Lucene.NET(私はSimple Savantの作成者です)を使用した全文検索の統合サポートが含まれています。

全文索引付けのアプローチについては、ここで説明します。

于 2010-10-13T15:20:50.547 に答える
1

厳密にSimpleDBソリューションを探している場合(前述の質問による)、KattaとLuceneは役に立ちません。単に「Amazonインフラストラクチャ」ベースのソリューションを探している場合は、どの選択肢でも機能します。

3つのオプションはすべて、実行する必要のあるセットアップと管理の量、および実際の要件に応じて最適なものを決定するという点で異なります。

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

Luceneは、キーワード検索以上のものが必要な場合に最適ですが、インデックスの更新は自分で管理できます。また、SimpleDBで得られたであろう負荷分散、バックアップ、およびフェイルオーバーを管理する必要があります。フェイルオーバーを気にせず、EC2がクラッシュした場合に復元を実行する際のダウンタイムを許容できる場合は、心配する必要が1つ少なくなり、SimpleDBを選択する理由が1つ少なくなります。

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

于 2009-06-01T15:33:11.560 に答える
1

この質問を整理するために...Lightspeedのカスタム検索プロバイダーを作成することで、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マシンを使用して簡単にスケーリングできるため、これは私たちにとって最も理にかなっています。

于 2010-09-28T17:42:05.050 に答える