0

現在のアプリケーションの機能を拡張する必要があります。そうすることで、既存のドキュメントの一部と重複するが完全ではないレコードの別のセットを保存し、いくつかの新しいフィールドを導入しようとしています。1 つの Lucene インデックスに 2 種類のレコードを含めることはできますか?

その例

次のフィールドを持つ2種類の顧客レコードを保存したいとします NAME ADDRESS HAS KIDS

店舗名 住所 種類 サイズ

そのため、レコードにはいくつかの共通点がありますが、同じ Lucene データベース内に共存できる異なる点があります。このアプリケーションに入るデータの量が多くなり、それほど多くのスペースを無駄にしたくないため、すべてのフィールドを持つ一般的なレコードを作成することは避けたいと考えています。私のプログラムをSOLRバックエンドとインターフェースするように移動すると、私の状況が改善されます。

前もって感謝します

4

2 に答える 2

3

Lucene にはスキーマがないため、通常はスキーマを使用できます。顧客と店舗を混同することはお勧めしません。結果セットでそれらをどのように分離しますか? 顧客と店舗を 1 つの DB テーブルにまとめますか? Solr は多くの点で役立ちます。たとえば、さまざまなタイプのデータをさまざまなコアに配置して、さまざまなスキーマと明確な分離を実現できます。複数のコアが単一の SOLR サーバーに共存する場合があります。SOLR は、他の多くの問題を解決することもできます。例: データ パーティション (シャーディング)、複数のノードを追加することによる負荷分散、フェールオーバーなど。

于 2013-07-24T17:37:12.423 に答える
0

さまざまなデータ型を 1 つの Solr コアに入れるのはかなり簡単です。

本当に一意の ID (UUID、または TYPE-PREFIX_YOUR-ID> のようなもの) を持つこと、およびフィルター処理に使用できるタイプの共通フィールドが 1 つあることを覚えておく必要があります。

solrconfig で 2 つのハンドラーを指定すると、2 つのデータ型を持つコアで作業していることに気付かないかもしれません (この部分はオプションです)。

そうする必要があります(1つのコアで2つのデータ型)、ユースケースによって異なります。

于 2013-07-24T20:41:24.370 に答える