如何在SolrNet 3.6中检索动态字段?

时间:2012-07-21 09:43:10

标签: solr solrnet

我们正在使用SolrNet 3.6处理ASP.NET MVC3 C#。 我们使用了动态字段。已经使用适当的数据成功创建了索引索引,它在Solr Admin以及我们的应用程序中也完美地工作,没有动态字段。
我们使用QueryOption检索了所有静态字段,如Id,Name等。

但我们不知道如何检索动态字段?

那么请建议我们如何检索它?

2 个答案:

答案 0 :(得分:6)

使用SolrNet访问动态字段非常简单。以下是映射一组动态字符串字段的示例:

schema.xml

中定义了以下字段
 <field name="dynamicFields_*" fieldType="string" stored="true" indexed="true" />

然后我们假设您已为索引文档包含以下字段:

dynamicFields_item1
dynamicFields_item2

然后,您将以下属性添加到C#类:

 public class IndexItem
 {
    ...

    [SolrField("dynamicFields_")]
    Dictionary<string, string> DynamicFields { get; set;}

    ....
 }

然后,一旦您查询了Solr并拥有一个IndexItem类,就可以访问动态数据字段,如下所示:

//already have gotten the indexItem before here

 var item1Value = indexItem.DynamicFields["item1"];
 var item2Value = indexItem.DynamicFields["item2"];

希望这可以帮助您在代码中使用动态字段...

答案 1 :(得分:2)

您可以使用Luke Handler检索所有索引字段(以及更多) - 静态和动态。例如。 http://localhost:8983/solr/admin/luke