我必须在 Sitecore(或者更确切地说,在内容中)中找到在“跟踪”属性中检查了特定 OMS(营销套件)配置文件的所有项目。 Tracking 属性似乎存储为 XML 并具有如下原始值
<tracking>
<profile name="Widdly Scuds"><!-- some irrelevant keys... --></profile>
</tracking>
例如,我需要获取具有“Widdly Scuds”配置文件的所有项目。
我想到的第一个解决方案是对 Tracking 属性进行快速查询。 Sitecore 查询或 XML 每次都必须抓取整个内容,这将probably速度慢得令人无法接受,但如果没有其他选择,我会尝试一下。
这是我尝试的第一个快速查询:
fast://*[@Tracking = '%Widdly Scuds%']
但这会返回 0 个结果。所以我尝试了这个:
fast://*[@Tracking = '<tra%']
和这个(它将匹配许多配置文件的名称:
fast://*[@Tracking = '%A%']
这些也返回 0 结果。我不太确定跟踪是如何存储或查询的,但它似乎很不寻常,因为我无法通过任何方式从中获得任何结果。
查询需要足够快,以便在短页面渲染(可能不超过 20-30 秒)期间运行几十次。结果可以缓存一段时间,但不会太久。我正在处理的网站部分的首页需要显示我正在查询的每个配置文件的项目计数,并且可能会有 50 个左右的配置文件。
那么,如何快速获得具有特定营销特征的所有商品呢?
Edit:我最终使用了 Lucene。这次冒险的细节可能会出现在以后的问题中……
如果您使用查询或迭代后代,请避免从 / 开始查询(如果可能) - 从相当于 /sitecore/content/someitem 的位置开始。
另一种方法是使用 Lucene 或其他搜索索引。有关详细信息,请参阅 Sitecore 参考 http://sdn.sitecore.net/reference/sitecore%206/sitecore%20search%20and%20indexing.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)