2009-06-16 10 views
1

新しいプロジェクトでデータをインデックス化するためにApache solrを使用することを検討しています。データは、例えば異なる種類のデータのインデックス作成にsolrを使用する

  • 植物
  • 動物
  • インデックスにコンピュータ

があることを意味しており、異なる、独立したタイプで構成されています。タイプごとに異なるインデックスを使用すべきか、1つのインデックスのみを使用する方が理にかなっていますか?多くのインデックスを使用するとパフォーマンスにどのような影響がありますか? これを達成する他の可能性はありますか?

ありがとうございました。

答えて

7

いずれも正当なアプローチですが、トレードオフがあります。まず、データセットの大きさはどれくらいですか?それが複数のサーバーにまたがって分割することができるように十分な大きさであれば、おそらく異なるインデックスを持つことが理にかなっています。

第2に、パフォーマンスをどれくらい重要にするか - すべてをまとめてインデックスを付けるとパフォーマンスが低下する可能性がありますが、その程度はデータの量とクエリの複雑さによって決まります。

第3に、同じ検索で複数のデータ型をクエリする必要がありますか?もしそうなら、すべてを索引付けすることはこれを可能にする便利な方法です。技術的にはこれは別々のインデックスで達成することができますが、クエリに最も関連性の高い結果を得ることは難しいかもしれません(まだではありません)。

単一のスキーマと構成のインデックスは、誰でもシステムの導入と保守を行います。

他に考慮すべきことは、IDです。異なるオブジェクトのすべてがすべてのタイプにわたって一意の識別子を持っていますか?そうでない場合は、それらを一緒に索引付けする場合は、これを生成する必要があります。

+0

あなたの答えをありがとう。私は実際には複数のインデックスに固執する必要があると思います。なぜなら、1つのインデックスで一意の識別子を生成すると、私の場合は混乱するからです。私はsolrのインデックス分布と断片を使って遊んでいましたが、明らかに巨大なデータセットのクエリを高速化するために作られました。私は、5つ以上のコアが使用される方法ではないと思う。ですから私の現在の考えは、solrを使わずにLuceneを使用する方向に向かっています。 –

+0

私は質問があります。 10アプリ(10列のアプリあたり約10000行のデータ、1〜2列は大きなtxtフィールド)と、共有ドライブからすべてのドキュメントをインデックスしたい場合、5000ワード/ pdf docs)。私たちはあなたが望むものを検索することができるグローバル検索を作成したいと思います。結果はファセット(アプリ)や日付範囲フィルタなどで分類することができます。また、これらの個々のアプリケーションでこの検索を使用します。 txtと変更された日付、変更されたユーザーなどのような他のフィールド2つのアプローチのどちらが良いですか? –

+0

私が行った研究から、人々が10以上のコアを持ち、それらを管理しているように見えます(私はどれくらいうまく行っているのか分かりません)。ここに[link](http://lucene.472066.n3.nabble.com/shareSchema-quot-true-quot-location-of-schema-xml-td3297392.html)があります。 –

関連する問題