複数のSolrコアとHttpキャッシュを使用する際のSolrの事象


解説

SolrをSitecoreの検索プロバイダーとして使用する場合、以下の条件下でさまざまな事象が発生する可能性があります:

事象の説明と解決策は以下の通りです。

Sitecoreがマルチコア構成を無視する

Unity IoCコンテナーでSolr 4.3以前を使用する場合、構成に関係なく、インデックスされたアイテムが単一のコア(デフォルトのコア)にプッシュされる場合があります。

SitecoreがUnity、Ninject、StructureMapで起動に失敗する可能性がある

Unity、Ninject、またはStructureMap IoCコンテナーでSolr 4.3.1以降を使用すると、Sitecoreの起動に失敗し、ログ ファイルに以下のエラーが出力される場合があります。

Ninjectのエラー:

Error activating ISolrConnection
More than one matching bindings are available.
Activation path:
 1) Request for ISolrConnection
Suggestions:
 1) Ensure that you have defined a binding for ISolrConnection only once.

StructureMapのエラー:

StructureMap Exception Code:  202
No Default Instance defined for PluginFamily SolrNet.ISolrConnection, SolrNet, Version=0.4.0.2002, Culture=neutral, PublicKeyToken=null

Unityのエラー:

Connection error to search provider [Solr] : Unable to connect to [http://localhost:55555/solr]

解決策

この事象を解決するには、2つのオプションがあります: