Solr 6.1 をスキーマレス モードで使用しています。コレクションを作成し、サンプル データにインデックスを付けた後、作成されたフィールドはすべて、一意の ID を除いて MultiValued = true に設定されました。
問題は、SolrNet を使用してこのデータを照会すると、結果がモデルに正しくマップされないことです。クエリ結果は配列として返され、モデル内のすべてのプロパティを ICollection 型に更新する必要があります。
サンプル データのインデックスを作成するときに、これらのフィールドを MultiValued = false に設定できる方法はありますか?
問題を説明する例:
1) スキーマレス モードで次のモデルのサンプルにインデックスを付けます。
public class TestModel
{
[SolrUniqueKey("id")]
public int Id { get; set; }
[SolrField("guid")]
public Guid Guid { get; set; }
}
2) Solr のマネージド スキーマ ファイルに次のフィールドが追加されます。
<field name="guid" type="strings"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
3) モデルのクエリ/マッピング中のエラー
Object of type 'System.Collections.ArrayList' cannot be converted to type