如何添加字典<;字符串,字符串>;SolrNet中的数据

如何添加字典<;字符串,字符串>;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

我想用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=“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

9818842034

SolrNet支持将字典映射到动态字段。在这种情况下,
[SolrField]
的参数是字段名的前缀。有关详细说明,请参阅


如果您想使用多值字段而不是动态字段来存储词典,可以通过实现
IsorDocumentPropertyVisitor
来实现。不过,这样做并不简单,而且我认为这不是一个好主意。

请接受并对您前面问题的部分答案进行投票。请参阅