我有一个包含大量元数据字段的模式.我们希望能够通过Tridion API从代理中搜索基于该模式的组件,如:
using Tridion.ContentDelivery.DynamicContent.Query;
private static Criteria getSearchCriteria(
string searchText,
params BrokerConstants.MetadataField[] fields)
var searchCriteria = new List<Criteria>();
foreach (var f in fields)
{
var mkcText = new CustomMetaKeyCriteria(f.Name);
var mvcText = new CustomMetaValueCriteria(
mkcText,
"%" + searchText + "%",
Criteria.Like);
searchCriteria.Add(mvcText);
}
return new OrCriteria(searchCriteria.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,此工作正常:用户可以键入一些搜索文本,我们通过代理API将搜索文本传递给Tridion,Tridion会将返回与搜索文本匹配的组件.
但!如果我在任何组件的内容字段中添加了大量文本,则Tridion发布过程将在"部署"阶段失败:
阶段:部署处理阶段失败,无法部署组件[Component id = tcm:9-2617-16 title = xyz schema = tcm:9-2325-8],CustomMeta字段,StringValue,大于支持的3400字节大小!
我尝试将代理数据库的CUSTOM_META表中的KEY_STRING_VALUE列从nvarchar(3400)更改为nvarchar(MAX),但这似乎没有解决问题.
我完全没有超出限制:"wc"告诉我文本中有4037个字节.大约6000左右听起来像是我需要的舒适上限.
是否有一种简单的方法来增加此字段中允许的文本字节数?
现在我们正在使用SDL Tridion 5.3,我们将很快升级到Tridion 2011 SP1.升级到Tridion 2011 SP1时,我们还希望使用FAST FISE(SP 4)搜索引擎在已发布的网站上实施搜索.
任何人都可以帮助我们了解如何在Deployer扩展以及Content Delivery方面的更改(我们有.NET实现)方面做到这一点.是否有可用的API参考或实施文档?