स्थितिSitecore Lucene: फिर से सूचकांक बच्चे (या माता पिता) आइटम
को अद्यतन करने पर आइटम मैं निम्नलिखित Sitecore Lucene config है:
- नए सूचकांक, type = "Sitecore.Search.Index , Sitecore.Kernel, "(गणना की" क्षेत्रों
- प्रत्येक क्रॉलर अपनी विशिष्ट टेम्पलेट GUID संभालती
- दो क्रॉलर्स एक कस्टम क्रॉलर कि अतिरिक्त कहते हैं) होता है "क्योंकि वे विभिन्न गणना क्षेत्रों शामिल
समस्या
गणना क्षेत्रों माता पिता/बच्चे क्षेत्रों पर आधारित हैं। साइटकोर में ल्यूसीन कैसे स्थापित किया जाता है, यह है कि आइटमों के लिए केवल दस्तावेज जो वास्तव में बदल दिए गए थे, इंडेक्स में अपडेट किए गए हैं।
ऐसे में, अन्य दस्तावेजों (जो आवश्यक हैं, इन क्षेत्रों पर खोज की स्थिति हैं) पर गणना की गई फ़ील्ड अपडेट नहीं की गई हैं।
प्रश्न
इसकी संभावना मैन्युअल सूचकांक में अन्य मदों के अपडेट लागू करने के है?
मैंने साइटकोर.Search.Index को विरासत में देखा है, लेकिन प्रासंगिक विधियों में से कोई भी वर्चुअल नहीं है।
इसके अलावा, मैंने इंडेक्सिंगप्रोवाइडर-इवेंट्स की सदस्यता लेने की कोशिश की:
सार्वजनिक ईवेंट इवेंट हैंडलर ऑनरमोव इटिम;
सार्वजनिक कार्यक्रम EventHandler OnRemoveVersion;
सार्वजनिक कार्यक्रम EventHandler OnUpdateItem;
इसके पीछे का विचार डेटाबेस क्रॉलर में ऑन-अपडेट इटिम-इवेंट को अन्य आइटम्स के लिए ट्रिगर करना था, जिसे अपडेट करने की आवश्यकता है, लेकिन आप इंडेक्सिंगप्रोवाइडर के बाहर से इस ईवेंट को ट्रिगर नहीं कर सकते।
क्या कोई पूर्ण पुनर्निर्माण किए बिना इंडेक्स अपडेट ट्रिगर करने का कोई तरीका है, जिसमें उन अन्य वस्तुओं को सहेजने/पुन: प्रकाशित करने में शामिल नहीं है?
धन्यवाद!
Sander
अतिरिक्त प्रविष्टियों के साथ HistoryEngine को ट्रिगर नहीं करेगा अन्य साइटकोर घटकों पर कोई प्रतिकूल दुष्प्रभाव है? यह एक उचित दृष्टिकोण की तरह लगता है, इसलिए मैं इसे जल्द ही कोशिश करूंगा। मैं जल्द ही रिपोर्ट करूंगा, पहले कुछ अन्य स्प्रिंट कार्यों को पूरा करने की आवश्यकता है;) – sanderd
परावर्तक में विश्लेषण इंडेक्सिंग प्रबंधक को HistoryEngine.AddedEntry के लिए एकमात्र श्रोता के रूप में दिखाता है, इसलिए आप शायद वहां सुरक्षित हैं। गारंटी नहीं दे सकता कि क्या उस सम्मान में भविष्य का सबूत है, मुझे लगता है। उस ने कहा, यह एक मुद्दा लाता है कि आपके अतिरिक्त एंट्री श्रोता को अनंत रिकर्सन को रोकने के लिए तर्क होना चाहिए। संपादित करेंगे – techphoria414