如何添加字典<;字符串,字符串>;SolrNet中的数据
我想用Solr.net添加记录,但出现错误 远程服务器返回错误:(400)请求错误 我的代码是这样的 架构文件中的如何添加字典<;字符串,字符串>;SolrNet中的数据,solrnet,Solrnet,我想用Solr.net添加记录,但出现错误 远程服务器返回错误:(400)请求错误 我的代码是这样的 架构文件中的 field name="id" type="int" indexed="true" stored="true" required="true" /><br> field name="Tags" type="string" indexed="true" stored="true" multiValued="true"/> fieldname=“id”type
field name="id" type="int" indexed="true" stored="true" required="true" /><br>
field name="Tags" type="string" indexed="true" stored="true" multiValued="true"/>
fieldname=“id”type=“int”index=“true”stored=“true”required=“true”/>
field name=“Tags”type=“string”index=“true”stored=“true”multiValued=“true”/
在我的课堂上
public class ProductTest2
{
[SolrUniqueKey("id")]
public int Id { get; set; }
[SolrField("Tags")]
public Dictionary<string, string> Tags { get; set; }
}
solr.Add(new ProductTest2()
{
Id = i,
Tags = new Dictionary<string, string> { { Convert.ToString(dt.Rows[i]["Filter1_ID"]), Convert.ToString(dt.Rows[i]["Filter1"]) } }
}
solr.Commit();
公共类ProductTest2
{
[SolrUniqueKey(“id”)]
公共int Id{get;set;}
[索尔菲尔德(“标签”)]
公共字典标记{get;set;}
}
要添加新行的代码
public class ProductTest2
{
[SolrUniqueKey("id")]
public int Id { get; set; }
[SolrField("Tags")]
public Dictionary<string, string> Tags { get; set; }
}
solr.Add(new ProductTest2()
{
Id = i,
Tags = new Dictionary<string, string> { { Convert.ToString(dt.Rows[i]["Filter1_ID"]), Convert.ToString(dt.Rows[i]["Filter1"]) } }
}
solr.Commit();
solr.Add(新产品测试2()
{
Id=i,
Tags=newdictionary{{Convert.ToString(dt.Rows[i][“Filter1_ID”]),Convert.ToString(dt.Rows[i][“Filter1”])}
}
solr.Commit();
当我执行此代码时,它会显示错误。但是如果我删除字典类型并添加另一个类型,则工作正常。请建议我应该为字典提供什么类型。
目前我使用了type=“string”
提前感谢。Ashutosh
9818842034SolrNet支持将字典映射到动态字段。在这种情况下,
[SolrField]
的参数是字段名的前缀。有关详细说明,请参阅
如果您想使用多值字段而不是动态字段来存储词典,可以通过实现
IsorDocumentPropertyVisitor
来实现。不过,这样做并不简单,而且我认为这不是一个好主意。请接受并对您前面问题的部分答案进行投票。请参阅