【问题标题】:Querying a large number of items via Sitecore API通过 Sitecore API 查询大量商品
【发布时间】:2011-09-21 04:24:12
【问题描述】:

我已阅读以下问题及其可能相关的答案:

Does Sitecore use Fast Query automatically?

我们有一个使用 Sitecore 作为后端的大型画廊。树中组织了许多不同的画廊页面:

Sitecore->Content->MediaLibrary->Gallery->User->{Photos}->{Photo_State}

Photo_State 被批准、拒绝等情况

目前,为了从数据库中检索图像,我们在树的“图库”部分使用 GetAncestors()。这可能会从数据库中检索数千个项目,然后使用正常的 .NET 过滤实践对其进行过滤。

我们怎样才能以更有效的方式做到这一点?

我们曾考虑使用 Sitecore 快速查询 API 来执行此操作,但我目前不明白如何使用它来解决我们当前的问题。所以我们的数据库查询是:

  • 给我一个用户的所有照片(已经处理好/最佳)
  • 给我所有匹配搜索的照片 - 可以通过 @title='%search%' 使用快速查询来处理
  • 给我画廊中的前 28 个项目 - ???我不知道如何使用快速查询来做到这一点

知道如何通过 Sitecore API 以最佳方式处理此问题吗?

【问题讨论】:

    标签: .net api sitecore


    【解决方案1】:

    我同意马克的观点。我认为您应该完全放弃 sitecore 查询并使用 lucene 索引来获取数据。

    以下是一些帮助您入门的资源:

    1. Contains a lot of information about Lucene search in sitecore
    2. Advanced DB crawler video
    3. SDN search documentation

    我在大型网站上使用过它,每天有数十万的页面浏览量,它非常可靠。

    【讨论】:

      【解决方案2】:

      如果您可能有数千个项目,您应该使用 Lucene 索引。 Advanced Database Crawler 可以让这很容易完成。

      【讨论】:

      • 好的,所以我们有一些问题。将非常频繁地将图像添加到站点(例如,为了争论一分钟 - 在繁忙时期可能会更多),我们希望画廊完全是最新的。 Lucene 会处理这个问题吗?我们必须进行完整的索引重建还是可以增量更新?抱歉,我们使用的是 Sitecore 6.1,我应该提到这一点。
      • 索引根据 HistoryEngine 中记录的操作增量更新。因此,如果您正在索引 Web 数据库,则发布将添加到索引中。如果您正在索引主数据库,则保存将添加到索引中。高级数据库爬虫需要 6.2 U-5。我会强烈考虑升级。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-11
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多