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

Dha*_*ari 2 solr solrnet

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

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

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

Pai*_*ook 6

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

schema.xml中定义了以下字段

 <field name="dynamicFields_*" fieldType="string" stored="true" indexed="true" />
Run Code Online (Sandbox Code Playgroud)

然后我们假设您已使用以下字段编制索引文档:

dynamicFields_item1
dynamicFields_item2
Run Code Online (Sandbox Code Playgroud)

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

 public class IndexItem
 {
    ...

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

    ....
 }
Run Code Online (Sandbox Code Playgroud)

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

//already have gotten the indexItem before here

 var item1Value = indexItem.DynamicFields["item1"];
 var item2Value = indexItem.DynamicFields["item2"];
Run Code Online (Sandbox Code Playgroud)

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