【问题标题】:Getting the last item in Sitecore content data获取 Sitecore 内容数据中的最后一项
【发布时间】:2012-09-20 09:42:52
【问题描述】:

我正在执行搜索,我必须在其中获取存储在 sitecore/content/data/MyItem 中的最后一项的“ID”(字段)。此文件夹中存储的项目数量超过 1000 个。我知道 Lucene 搜索是非常有效的。我执行了 Lucene 搜索以根据以下值获取项目:

using (IndexSearchContext searchContext = indx.CreateSearchContext())
            {
                var db = Sitecore.Context.Database;
                CombinedQuery query = new CombinedQuery();

                QueryBase catQuery = new FieldQuery("country", guidValueToSearch); //FieldName, FieldValue.
                SearchHits results = searchContext.Search(catQuery); //Searching the content items by fields.
                SearchResultCollection result = results.FetchResults(0, numOfArticles);

这里我传递 guidValueToSearch 以获取需要获取“国家”字段值的项目。但我想获取文件夹中的最后一项。我应该如何做到这一点?

【问题讨论】:

  • 树中的最后一项(排序顺序)或最后更新的项是什么意思?
  • 你的意思是在内容树的那个文件夹中,检索最近更新的项目吗?

标签: lucene sitecore sitecore6


【解决方案1】:

如果您知道需要 /sitecore/content/data/MyItem 的最后一个子项,您还可以使用更简单的方法获取 parentItem,然后检索最后一个子项:

Item myItem = Sitecore.Context.Database.GetItem("/sitecore/content/data/MyItem");
Item lastItem = myItem.Children.Last();

对于后代而不是孩子也可以这样做。

【讨论】:

    【解决方案2】:

    如果您确实想使用搜索来实现它,请查看this 答案,该答案解释了如何扩展 IndexSearchContext 以具有接受 Lucene.Net.Search.Sort 的方法。然后,您可以传入 Sitecore.Search.BuiltinFields.Created 或 Sitecore.Search.BuiltinFields.Updated 字段(取决于您所追求的内容)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      相关资源
      最近更新 更多