मेरे पास बहुत सारे मेटाडेटा फ़ील्ड के साथ एक स्कीमा है।मैं ट्रिडियन ब्रोकर में किसी क्षेत्र में 3400 बाइट टेक्स्ट कैसे डाल सकता हूं?
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());
}
यह ठीक अब तक काम करता है:: उपयोगकर्ता कुछ खोज पाठ में टाइप कर सकते हैं, हम के माध्यम से खोज पाठ पारित हम Tridion API जैसे के माध्यम से दलाल से जो स्कीमा के आधार पर घटकों के लिए खोज करने के लिए सक्षम होना चाहते हैं ब्रोकर एपीआई के माध्यम से ट्रिडियन के लिए, और ट्रिडियन हमें उन घटकों को वापस देता है जो उस खोज टेक्स्ट से मेल खाते हैं।
लेकिन!
चरण:: तैनाती प्रसंस्करण चरण में विफल रहा है, घटक को तैनात नहीं किया जा सका [घटक आईडी = टीसीएम अगर मैं किसी भी घटक के लिए सामग्री क्षेत्र के लिए पाठ का एक बहुत जोड़ने के लिए, Tridion प्रकाशन की प्रक्रिया "की तैनाती" चरण में विफल रहता है : 9-2617-16 शीर्षक = xyz schema = tcm: 9-2325-8], कस्टममेटा फ़ील्ड, स्ट्रिंगवैल्यू 3400 बाइट्स के समर्थित आकार से बड़ा है!
मैं nvarchar (मैक्स) के लिए nvarchar (3400) से दलाल डेटाबेस के CUSTOM_META तालिका में KEY_STRING_VALUE स्तंभ को बदलने की कोशिश की है, लेकिन है कि समस्या तय कर दी है प्रतीत नहीं होता है।
मैं सीमा से अधिक सीमा से अधिक नहीं हूं: "wc" मुझे बताता है कि मेरे पाठ में 4037 बाइट हैं। मेरी जरूरतों के लिए लगभग 6000 या तो आरामदायक-आइश ऊपरी सीमा की तरह लगता है।
क्या इस क्षेत्र में मुझे अनुमति देने वाले पाठ के बाइट्स की मात्रा बढ़ाने का कोई आसान तरीका है?
बस एक FYI करें एक के रूप में Tridion दूसरे करने के लिए डेवलपर। पाठ खोजों के लिए ब्रोकर डेटाबेस (या उस मामले के लिए कोई डेटाबेस) का उपयोग करना, विशेष रूप से खुले% टेक्स्ट% खोजों की वास्तव में अनुशंसा नहीं की जाती है।यह निश्चित रूप से आपको बड़े प्रदर्शन के मुद्दों को देगा। –
@ हेन्ड्रिक: हाँ, मुझे पता है कि यह प्रत्येक पंक्ति स्कैन कर रहा है और क्वेरी के उस हिस्से के लिए इंडेक्स को मार नहीं रहा है: बेंचमार्किंग में अब तक कोई समस्या नहीं है (100 मिली से नीचे) - हम वास्तव में केवल यहाँ 20 पंक्तियों की तरह बात कर रहे हैं। मैं मानता हूं कि यह निश्चित रूप से आदर्श नहीं है। – George