【问题标题】:Lucene Search for SiteCore get Field content from resultLucene Search for SiteCore 从结果中获取字段内容
【发布时间】:2013-04-10 12:19:54
【问题描述】:

喂。我遇到了一个小问题。我正在使用 Lucene 搜索,我正在尝试从返回结果中的字段中获取内容。到目前为止,我已经得到了该领域的 ID。现在我得到了该字段的 ID'。

foreach (var i in hit.Template.InnerItem.InnerData.Fields)
        {
            hitParagraph = hitParagraph + i.ToString();
        }

这给了我该模板内字段的 ID,如下所示

[{25BED78C-4957-4165-998A-CA1B52F67497}, 20130307T051813][{5DD74568-4D4B-44C1-B513-0AF5F4CDA34F}, vh\branea1][{8CDC337E-A112-41885142-41-418551-BBB34-41-41 bf8b-4f26-8259-125d352457f3][{D9CF14B1-FA16-4BA6-9288-E8A174D4D522},.....

请帮忙。 谢谢你

【问题讨论】:

  • 您能澄清一下您要完成的工作,并在此处提供一些前面的代码吗?什么类型的物体被“击中”?

标签: search lucene sitecore


【解决方案1】:

我不完全确定你在追求什么。如果它是特定字段的内容,您可以使用 hit["fieldname"](假设 hit 是 Sitecore 项目)。或者hit.Template.InnerItem["fieldname"] 会起作用,我认为。

我认为您不需要 InnerData 位 - 如果您想要一个 foreach 循环,我认为您可以这样做:

foreach (Field i in hit.Template.InnerItem.Fields)
{
    hitParagraph += i.Value.ToString();
}

【讨论】:

    【解决方案2】:

    根据我从您的代码中了解到的情况,hit 是一个 Sitecore Item 类实例。要从中获取所有字段,请使用:

    hit.Fields.ReadAll();
    foreach (Field field in hit.Fields)
    {
        hitParagraph = hitParagraph + field.Key + ": " + item[field.Key] + "\n";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多