Lucene搜索SiteCore从结果中获取Field内容

时间:2013-04-10 12:19:54

标签: search lucene sitecore

HY。我遇到了一个小问题。我正在使用Lucene Search,我正在尝试从返回结果中的字段中获取内容。到目前为止,我已经到了现场的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-42FB-BBB4-4143751E123F},51885b42- bf8b-4f26-8259-125d352457f3] [{D9CF14B1-FA16-4BA6-9288-E8A174D4D522},.....

请帮忙。 谢谢

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

根据我对您的代码的理解,hit是Sitecore Item类实例。要从中获取所有字段,请使用:

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