0

アプリケーションの構築。現在、Solr サーバーは 1 台です。しかし、インデックス作成のニーズを超えた場合に、将来的に複数の Solr シャードをサポートできるようにアプリを設計したいと考えています。

将来、複数のシャードをサポートできるアプリケーションを開発する際に留意すべき重要事項は何ですか?

solr URL /solr/ をDBに保存しました。これは、solr に対してクエリを実行するために使用されます。DB には、更新用の 1 つの URL と検索用の 1 つの URL があります。

将来、シャードを solr 環境に追加する場合、シャードを使用するためのプロセスは、DB 内の URL を更新するのと同じくらい簡単になりますか? または、更新する必要がある他のものがあります。SolrJを使用しています

たとえば、DB の SolrSearchBaseURL を次のように変更します。

https://solr2/solr/select?shards=solr1/solr,solr2/solr&indent=true&q={search_query}

DB の SolrUpdateBaseURL を次のように更新します。

https://solr2/solr/

?

4

1 に答える 1

1

基本的に、あなたが説明していることはすでに SolrCloud に実装されています。そこでは、ZooKeeper が検索クラスターの状態を維持します (どのコレクションのシャード、シャード レプリカ、リーダー ノードとスレーブ ノードなど)。ハッシュを使用して、インデックス作成側とクエリ側の負荷を処理できます。

原則として、開発したシステムで (少なくともクラスターの成長の最初の段階では) やり遂げることができます。ただし、複製、ロード バランサー、外部キャッシュ サーバー (varnish など) の追加について考えてみてください。長期的には、SolrCloud のような実装を自分で行うことになります。

そうは言っても、ハッシュベースのインデックス作成を使用して検索することにはいくつかの注意点があります。この時点で、データの論理パーティション分割 (日付別など) を実装する場合は、カスタム コードを作成する以外に方法はありません。ただし、これに関していくつかの作業が計画されています。

于 2013-07-07T09:31:29.617 に答える