Dynamic SolrNet适当映射方法

Dynamic SolrNet适当映射方法,dynamic,mapping,field,solrnet,Dynamic,Mapping,Field,Solrnet,我有一个相当“复杂”的场景,我需要能够处理来自n个源的信息——每个源都有自己的结构。为了数据转换的目的,我构建了一个灵活的“黑盒”,它可以描述给定源的哪些列/属性可用。它还可以创建多值属性,而任意数量的列都可以聚合并索引到一个Solr字段中 我希望能够尽可能灵活地处理这个问题,因此我希望使用SolrNet提供的各种映射方法。在阅读了“Solr映射文档”之后,似乎“完全松散的映射”可以提供我想要的 现在,为了确保我正确理解这一点:我是否仍然可以提供,比如说,“stru title”作为字典中的键,

我有一个相当“复杂”的场景,我需要能够处理来自n个源的信息——每个源都有自己的结构。为了数据转换的目的,我构建了一个灵活的“黑盒”,它可以描述给定源的哪些列/属性可用。它还可以创建多值属性,而任意数量的列都可以聚合并索引到一个Solr字段中

我希望能够尽可能灵活地处理这个问题,因此我希望使用SolrNet提供的各种映射方法。在阅读了“Solr映射文档”之后,似乎“完全松散的映射”可以提供我想要的

现在,为了确保我正确理解这一点:我是否仍然可以提供,比如说,“stru title”作为字典中的键,比如说,“title”作为字典中的值,并且它将正确映射到上述声明

我真的很感激如果有人能帮我做这件事,因为这将影响到如何继续


希望这是有意义的:)

是的,完全松散的映射将为您提供定义所述映射的能力,并获得预期的Solr索引结果

编辑:

您可以执行以下操作,这将在两侧进行映射

 <dynamicField name="str_*" type="string" ... />
完全松散映射:

Dictionary myDynamicFields{get;set;}
myDynamicFields.add(“str_title”、“A title”);

解析/访问Solr查询的结果时也会遇到同样的问题。

Hi Paige!听起来不错,但我想在我的原始帖子中添加一些东西,因为它似乎已经消失了:(我假设schema.xml文件包含一个dynamicField声明映射“str_*”到,比如说,a type=“string”。因此,您要确认的是,如果我提供key=“str_title”和value=“a title”SolrNet提供的松散映射将成功映射这一点?请参见“编辑”以获取示例…此外,如果您编辑您的问题并在代码段周围加上记号,它们将显示出来。@PaigeCook:这个答案是正确的,但我认为Kodo询问的是“完全松散映射”选项如中所述,即直接使用字典而不是具有SolrField属性的自定义类(是的,这也会按预期工作)@MauricioScheffer很好,我在回答中忽略了“完全松散映射”。我已将其更新为包含这两个属性。谢谢。
 [SolrField("str_")]
 Dictionary<string, object> myDynamicStrings { get; set; }
myDynamicStrings.Add("title", "A title");
  Dictionary<string object> myDynamicFields { get; set; }
  myDynamicFields.add("str_title", "A title");