I have a schema with a lot of metadata fields. We want to be able to search for components based on this scheme from a broker through the Tridion API, for example:
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()); }
This works great: the user can enter the search text, we pass the search text through Tridion through the broker's API, and Tridion returns us the components corresponding to this search text.
But! If I add a lot of text to the content field for any component, the Tridion publishing process will fail at the βdeployβ stage:
Phase: the deployment processing phase failed, the component [Component id = tcm: 9-2617-16 title = xyz schema = tcm: 9-2325-8], CustomMeta field, StringValue, was larger than the supported size of 3400 bytes!
I tried changing the KEY_STRING_VALUE column in the broker database of the CUSTOM_META table from nvarchar (3400) to nvarchar (MAX), but this did not seem to fix the problem.
I do not exceed the limit for many things: "wc" tells me that there are 4037 bytes in my text. About 6,000 or so sounds like a comfortable upper limit for my needs.
Is there an easy way to increase the number of bytes of text allowed in this field?
George
source share