2つ以上の同じ名称で異なるタイプのフィールドのインデックス作成が必要な場合、Azure Searchで問題が発生する可能性があります。この場合、Sitecoreフィールドが異なるAzure Search Edmタイプにマッピングされます。その結果、インデックスの再構築の際、Sitecore XPが同じフィールドに異なる値を追加しようとしますが、これはAzureではサポートされておらず、受信したフィールドのタイプとスキーマのフィールとの間で競合が発生します。以下のようなエラーが出力されます:
FATAL Could not add field {3C05A626-A3B1-4CBC-BF67-198537A13E20} : default value for indexable sitecore://web/{1514EA8F-E397-4443-A29D-722D99E33493}?lang=en&ver=1 Exception: System.ApplicationException Message: Conflict between type of incomming field 'Edm.Boolean' and field in schema 'Edm.String' Source: Sitecore.ContentSearch.Azure at Sitecore.ContentSearch.Azure.Schema.CloudSearchIndexSchemaBuilder.AddFields(IndexedField[] fileds) at Sitecore.ContentSearch.Azure.Schema.CloudSearchIndexSchemaBuilder.AddField(String fieldName, Object fieldValue) at Sitecore.ContentSearch.Azure.CloudSearchDocumentBuilder.AddField(String fieldName, Object fieldValue, Boolean append) at Sitecore.ContentSearch.AbstractDocumentBuilder`1.CheckAndAddField(IIndexable indexable, IIndexableDataField field)
競合するフィールドがどのシステムのテンプレートにも属さない場合、フィールドが一意の名前にするよう名前を変更します。
Sitecore XPにて同じ名前のフィールドの内の1つのフィールドのみインデックス作成をするよう設定します。これにより、選択されたフィールドの値のみのインデックス作成が実施され、検索に利用することができます。
これを実施するには、以下の手順を実施してください。
※注:Sitecore XPの設定で新しいインデックスを作成し、同じ名前のフィールドから、 他のフィールドに対し上記の手順を実施することができます。これにより、両方のフィールド値を異なるインデックスでインデックス化することができます。