1

アプリケーション内で Solr.NET を使用しています。アプリケーション内で、2 つの異なる solr サーバーに接続する必要があります。これらの solr サーバーはどちらも同じタイプのドキュメントを返します。ドキュメント タイプを Foo と呼びましょう。

また、すべてのクエリが常に solr に POST されるように、カスタム接続を使用する必要があります。

これが私がこれまでに持っているものです:

StartUp.Init<Foo>(new PostOnlyConnection(connectionString1))
StartUp.Init<Foo>(new PostOnlyConnection(connectionString2))

明らかに、2 つの型が同じであるため、IoC コンテナーはこれに対してエラーをスローします。この記事に記載されている情報を使用してこの問題を解決しようとしましたが、Windsor 機能ではカスタム接続オブジェクトを渡すことができず、接続文字列だけを渡すことができません。何か案は?

4

2 に答える 2

2

さまざまなドキュメント タイプに制限されている組み込みコンテナー (スタートアップ) をまだ使用しているようです。投稿した記事には、ウィンザーの例が含まれています。

ISolrConnection私はウィンザーにはあまり詳しくありませんが、カスタムで再登録できるはずですPostOnlyConnection

参考文献:

SolrNet接続の説明

于 2012-06-22T15:53:59.007 に答える
0

Windsor オプションが機能しない場合は、同じクラスから継承する 2 つのクラスを作成して、異なるタイプの solr 接続を開始できます。

class Foo {}
class FooA : Foo {}
class FooB : Foo {}

StartUp.Init<FooA>(new PostOnlyConnection(connectionString1))
StartUp.Init<FooB>(new PostOnlyConnection(connectionString2))

複数のコアがあり、これが私が使用するソリューションです。これにより、いくつかの課題が生じます。つまり、各 solr インスタンスでデータをクエリするには、いくつかのテンプレート メソッドが必要になります。

于 2012-06-26T19:59:11.030 に答える