2

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

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

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

4

2 回答 2

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"];

希望这将帮助您使动态字段在您的代码中工作......

于 2012-07-22T02:19:45.283 回答
2

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

于 2012-07-22T02:19:25.097 回答