2012-02-23 5 views
3

私は1つのWebプロジェクトに取り組んでいます。もっと多くのデータ層の設計について考えると、その大部分がSolrから直接使用できると思います。MongoDBではなくSolrを使用できますか?

たとえば、MongoDBではmapreduce、loop counts、$ incの代わりにファセット処理とカウント操作を行います。

Solrは「検索」ソリューションと呼ばれますが、私が言ったように、もっと「db」ソリューションに似ています。

Im「混乱して」、Solrとdb溶液の重なりがあります。

それを使用している誰かからのアドバイスは、プロダクションでは何ですか?

おかげで、 シニサ

+0

どのような種類のデータを保存する必要がありますか、そのデータに対してどのような操作を行う必要がありますか?私は、テキスト分析(検索はしません)だけを行うプロジェクトでSolrを使用することに成功しましたが、私はデータと操作に関して非常に特殊な要件を持っていました。 –

答えて

0

のSolrは検索用です。これは、通常のデータベースと同じ方法で復元力のある信頼性の高いデータソースになるようには設計されておらず、データベースが持つことができるリレーションシップの種類も処理できません。たとえば、外部キーを指定したり、制約を強制する方法はありません。

Solrは、mongoDBの可能性のある方法で 'ネスト'データ型をサポートしていません。例えば。文書データベースに、あなたが持つことができます。

{ 
    id: 123, 
    title: "cat toy stores", 
    stores: [ 
    { 
     name: "cats'n'stuff", 
     address: "123 cat street" 
    }, 
    { 
     name: "the catteria", 
     address: "321 tail lane" 
    } 
    ] 
} 

しかしSolrのをSolrには、複数値フィールドをサポートしていますが、それはnameaddressとの間の接続を表すことができないので、これらは特定のエンティティのためのフィールドにしている場合は終了します線に沿って何かを持つまで:

{ 
    id: 123, 
    title: "cat toy stores", 
    store-names: [ 
    name: "cats'n'stuff", 
    name: "the catteria" 
    ], 
    store-addresses: [ 
    address: "123 cat street", 
    address: "321 tail lane" 
    ], 
} 
+0

これは本当ですが、mongodbはどちらも外部キーを持っていませんし、唯一の制約は_idまたはあなたが "_id"にするものを使用することです。埋め込み文書を使用しておらず、あなたの要件が10個のフラットキー/値である場合、あなたは始まりであり、何を使うべきかは非常に「混乱しています」。 – sinisa

+1

solrは4.5以降のネストされた文書を格納できるので、もはや有効ではありませんhttp://blog.griddynamics.com/2013/09/solr-block-join-support.html – vumaasha

+0

私は現在Solrを実行していないので、入れ子になっていません私の答えはまだ一般的に有効です:solrは検索用であり、リレーショナルデータの格納用ではありません。 – beerbajay

0

私は両方を使用しました、と私はモンゴをデータベースとして販売されることに同意し、SOLRは明示的ではないが、私はAに可動部品の数を最小限に抑えることを感じていますシステムは常にマーケティングゴミに適合するよりも高い優先度です。したがって、可能な限り、私はSOLR/Luceneをmongoの代わりに使用します。特に検索をすぐに行う必要がある場合は特に。

確かに、SOLR DIHをmongoからインポートするように設定することはできますが、なぜ自分自身で余分な作業を作成するのでしょうか?サンプルコードごとにSOLRに情報を投稿してください。さらに質問がある場合はお知らせください。

+0

DIHの設定は簡単ですか?私は、ソン氏のフラットなモデルと比べて、モンゴブのネスト機能をどのように扱うのでしょうか? – jplot

+0

基本設定をコピー・ペースト・ジョブにする[チュートリアル](http://wiki.apache.org/solr/DataImportHandler)がDIH上にあります。@jplot – hd1

関連する問題