チェコ語・ノルウェー語でインデックス作成時にエラーが発生する可能性がある


解説

Sitecore XPでは、特定の言語用の動的フィールドが自動的に作成されます。Solr検索プロバイダを使用して、チェコ語またはノルウェー語のアイテムをインデックスした場合、ログに以下のようなメッセージが出力されることがあります。

9524 2015:06:25 14:52:03 
WARN Crawler : AddRecursive DoItemAdd failed - {6601373B-C31A-43D7-8DD8-6429ACA38298} Exception: SolrNet.Exceptions.SolrConnectionException Message: <?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"><int name="status">400</int><int name="QTime">98</int></lst>
<lst name="error"><str name="msg">

ERROR:
[doc=sitecore://master/{110d559f-dea5-42ea-9c1c-8a5df7e70ef9}?lang=cs-cz&amp;ver=1&amp;ndx=sitecore_master_index] unknown field 'title_t_cs'</str>
<int name="code">400</int></lst>
</response>

解決策

オプション 1

  1. 2つの新しいダイナミック フィールド定義を追加して、Solrスキーマ ファイルを変更します。
    <dynamicField name="*_t_cs" type="text_cz" indexed="true" stored="true" />
    <dynamicField name="*_t_nb" type="text_no" indexed="true" stored="true" />
  2. 変更したSolrスキーマですべてのSolrコアをリロードするか、Solrサーバーを再起動します。
  3. Solrサーバーを参照するSitecoreインスタンスを再起動し、更新されたSolrスキーマに関する情報を取得します。

    注意: Sitecoreを使用してSolrスキーマを入力した場合、その変更は上書きされます。通常、このステップは新しい環境のデプロイ時、または製品の新しいバージョンへのアップグレード後にのみ実行されます。変更が誤って上書きされないようにしたい場合は、オプション2をお試しください。

オプション 2

  1. 記事で紹介されている例を参考に、Solrスキーマのデータ追加ロジックをカスタマイズしてください。
  2. スキーマを再作成します。