【问题标题】:Sitecore powershell 100 item limitSitecore powershell 100 项限制
【发布时间】:2016-03-30 15:20:12
【问题描述】:

我需要将 Sitecore 媒体库中的加载(2000 多个)图像替换为具有相同名称的优化图像。我需要保留原始 GUIDS,以便所有图像仍然链接。

所以我基本上需要替换图像blob数据和大小数据。我已经编写了一个 powershell 脚本来执行此操作,但是我发现它始终会处理 100 个项目。我看不出有什么原因,可能只是我的脚本很垃圾,因为我以前没有使用过 powershell。

$CurrentImages = Get-Item  -Path master: -Query '/sitecore/media library/Images/Products//*[@@TemplateName="Jpeg"]';


$NewImages = Get-Item  -Path master: -Query '/sitecore/media library/NewImages//*[@@TemplateName="Jpeg"]';

Write-Host $NewImages.Count;


$CurrentImages|foreach{ $Current = $_;  $NewImages|foreach{ $New = $_; if($New.DisplayName -eq $Current.DisplayName){ Write-Host $Current.DisplayName; $Current.Blob = $New.Blob; $Current.Size = $New.Size; $New | Remove-Item}}};

如果这也有帮助,我正在使用 sitecore powershell 扩展

【问题讨论】:

    标签: powershell sitecore


    【解决方案1】:

    这个限制实际上是由Sitecore.config CMS 对查询机制施加的。您可以找到以下行,并将其更改为上限:

    <setting name="Query.MaxItems" value="100" />

    但我建议,如果搜索量较大,您可能需要使用利用 Sitecore 内容搜索基础架构的 Find-Item cmdlet。

    您可以在the Gist I've put together some time ago with performance analysis 中找到更多不同的内容定位策略。

    但是,如果是 Find-Item,您需要将搜索结果通过管道传输到 Initialize-Item,以将搜索结果项转换为完整的站点核心项。

    编辑:在 Slack 频道上了解到(感谢 Kamruz Jaman!) 此限制在 Sitecore 8.1 中的 App_Config\Include\Sitecore.ExperienceExplorer.config 中进一步扩大到 260,但显然在您的情况下,第一个限制仍然是这种情况。

    <setting name="Query.MaxItems">
        <patch:attribute name="value">260</patch:attribute>
    </setting>
    

    【讨论】:

    • 哦,好吧,我没想到要查看 Sitecore.config,我已经查看了所有的 powershell 配置。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多