4

SOLR を唯一のバックエンドとして使用する Web アプリを構築したい。CRUD が必要な場合もありますが、ほとんどのデータはオフライン ジョブを介して SOLR に保存されます。

Rails、Django、web2py などの現在人気のある Web フレームワークを見ると、NoSQL にもかかわらず、生産性のスイート スポットは依然として RDBMS 上にあるアクティブ レコードの実装にあるようです。

バックエンドとして SOLR を使用して Web アプリを構築するための、生産性の観点から最適なフレームワークは何ですか?

4

4 に答える 4

2

上記の3つの回答はすべて、開発フレームワークの優れた推奨事項です。私はあなたの質問をひっくり返して、「Solrに最適なもの」ではなく、「私にとって最適なWeb​​アプリフレームワーク」を尋ね、あなたのスキル、あなたの周りにいるコミュニティ、およびその他のソフト要因に基づいて決定を下します。特に、どちらに進むべきか完全に不可知論者である場合。

Grailsを愛し、始めるのを手伝ってくれる友達がいるなら、Grailsが道かもしれません。定期的に会合するPythonグループがありますか?次に、Djangoには提供できるものがたくさんあります。私は個人的にRailsが大好きなので、Railsをお勧めします。しかし、それは「私が好きなもの」と「最高のもの」の推奨にすぎません。

Solrの素晴らしい点は、フロントエンドにとらわれないことです。それは非常に多くの環境でうまく機能します!

于 2010-09-03T14:19:07.347 に答える
2

web2py データベース抽象化レイヤーは、現時点で SOLR をサポートしていません。つまり、SOLR へのアクセスに DAL 構文を使用できず、SOLR DB スキーマから自動生成されたフォームを使用できません。それでも、通常のリレーショナル データベースがあるかのように SQLFORM.factory を使用してフォームを生成し、SOLR への挿入/更新/選択/更新を手動で実行できます。web2py には、JSON と XML の両方を解析/書き込むためのライブラリが含まれているため、数行のコードで SOLR API を簡単に実装できます。これを web2py メーリング リストで取り上げていただければ、いくつかの例を提供できます。

編集(web2pyメーリングリストの回答からコピー):

通常、web2py ではモデルを定義します

db.define_table('message',Field('body'))

次に、web2py がフォームを生成して処理します。

form=SQLFORM(db.message)
if form.accepts(request.vars):
      do_something

あなたの場合、web2py DAL は SOLR をサポートしておらず、スキーマからフォームを生成できないため、define_table を使用しませんが、これをインストールすることができます: http://code.google.com/p/solrpy/ と実行できます

#in model
import solr
s = solr.SolrConnection('http://example.org:8083/solr')

#in controller
form=SQLFORM.factory(Field('body'))
if form.accepts(request.vars):
      s.add(mody=request.vars.body)
      s.commit()
      do_something

したがって、違いは SQLFORM ではなく SQLFORM.factory であり、accepts の後の余分な行です。それだ。

于 2010-09-02T20:25:04.780 に答える
1

Sunspot 1.2 と Rails 3 を使用します。

Sunspot は一般的に ActiveRecord 拡張機能として使用されますが、ORM に依存しないように設計されています。Rails 3 では ActiveRecord がフレームワークから切り離されているため、ORM を完全に使用する必要がありません。

http://outoftime.github.com/sunspot/

于 2010-09-02T21:59:31.223 に答える
0

ちなみに、SphinxSearchはsolr/lucenceや多くのユニークな機能よりもはるかに高速です。また、検索の精度は、私の経験と独立したベンチマークと比較してはるかに優れています。

ネイティブで非常に簡単なPythonAPIを備えており、web2pyとうまく統合されます。

ただし、RDBMSが必要です。私はそれを使用しています、web2py + sphinxsearch、オフィスファイル検索エンジンを構築しています。

あなたも試してみることができます。

www.sphinxsearch.com

于 2010-09-09T16:52:47.423 に答える