【问题标题】:How to Add Dictionary<String,String> Data in SolrNet如何在 SolrNet 中添加 Dictionary<String,String> 数据
【发布时间】:2011-04-06 12:52:47
【问题描述】:

我想用 Solr.net 添加记录我收到错误。

远程服务器返回错误:(400) Bad Request

我的代码是这样的。

在架构文件中

field name="id" type="int" indexed="true" stored="true" required="true" /><br>
field name="Tags" type="string" indexed="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();

当我执行此代码时,它显示错误。但是,如果我删除字典类型并添加另一种类型,那么工作正常。请建议我应该为字典提供什么类型。 目前我使用的是type="string"

提前致谢。
阿舒托什
9818842034

【问题讨论】:

标签: solrnet


【解决方案1】:

SolrNet 支持将字典映射到动态字段。在这种情况下,[SolrField] 的参数是字段名称的前缀。这在SolrNet wiki中有更详细的解释。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多