我在无模式模式下使用 Solr 6.1。在创建集合并索引示例数据之后,创建的字段都设置为 MultiValued = true,唯一 ID 除外。
问题是当使用 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