2012-01-06 25 views
8

में रावेनडीबी में बहुउद्देशीय इंडेक्स एक बहुआयामी RavenDB एप्लिकेशन (प्रति किरायेदार एक डेटाबेस, और सामान्य किरायेदार डेटा के साथ एक 'ओवरव्यू' डेटाबेस) में, सूचकांक निर्माण रणनीति क्या होगी? (asp.net mvc)एएसपीनेट एमवीसी

एक साधारण (बहुसंख्यक) अनुप्रयोग में, आप global.asax में अनुक्रमणिका बना सकते हैं।

  • सैद्धांतिक रूप से आप प्रत्येक किरायेदार के लिए पूछ सकते हैं, और वैश्विक किराये में प्रत्येक किरायेदार के लिए इंडेक्स बना सकते हैं। लेकिन मुझे लगता है कि किरायेदारों की मात्रा बढ़ने पर एक बड़ा प्रदर्शन होगा ...
  • किरायेदार निर्माण पर इंडेक्स बनाना संभव नहीं है, क्योंकि मौजूदा किरायेदारों को अपडेट पर नई अनुक्रमणिका प्राप्त करने में सक्षम होना चाहिए।

तो इन इंडेक्स को कैसे और कब बनाना है, इस बारे में सबसे अच्छा अभ्यास क्या होगा?

उत्तर

10

आप इस विधि का उपयोग एप्लिकेशन स्टार्टअप पर कर सकते हैं, परफ के बारे में कोई चिंता नहीं।

public static void CreateIndexesForDatabases(Assembly assemblyToScanForIndexingTasks, IDocumentStore documentStore, string[] databases) 
{ 
    var catalog = new CompositionContainer(new AssemblyCatalog(assemblyToScanForIndexingTasks)); 
    foreach (var database in databases) 
    { 
     IndexCreation.CreateIndexes(catalog, documentStore.DatabaseCommands.ForDatabase(database), documentStore.Conventions); 
    } 
} 

सिर्फ मत भूलना Raven.Client.Extensions

शामिल करने के लिए