आपको अस्तित्व की जांच करने की आवश्यकता नहीं है। सर्वर स्वचालित रूप से आपके द्वारा भेजी गई इंडेक्स परिभाषा की तुलना करेगा और यह देखने के लिए जांच करेगा कि यह पहले से मौजूद है या नहीं। यदि कोई एक ही नाम और परिभाषा के साथ मौजूद है, तो यह अकेला छोड़ दिया जाता है। यदि कोई एक ही नाम से मौजूद है, लेकिन परिभाषा बदल गई है, तो पुराना व्यक्ति गिरा दिया गया है और नया बनाया गया है।
आमतौर पर एप्लिकेशन स्टार्टअप पर उसी एप्लिकेशन में इंडेक्स बनाएगा। ग्लोबल.एक्सएक्स में होने वाले वेब ऐप्स के लिए, और कंसोल/डेस्कटॉप ऐप्स के लिए यह स्टार्टअप कोड का पहला हिस्सा होगा।
लेकिन कभी-कभी यह संभव नहीं है, जैसे कि आपके पास कई अलग-अलग डेटाबेस हैं, क्योंकि बहु-किरायेदार अनुप्रयोग अक्सर करते हैं। उन मामलों में, जब आप प्रत्येक किरायेदार डेटाबेस बनाते हैं तो आप इंडेक्स बनाते हैं, और जब आप संस्करण अपग्रेड करते हैं तो आपको अपडेट या अधिक अनुक्रमणिका बनाना पड़ सकता है।
इसके अलावा, मुझे यह उल्लेख करना चाहिए कि आप इंडेक्स को कुछ अलग तरीकों से बना सकते हैं।
// scans the assembly for all indexes and creates them
IndexCreation.CreateIndexes(assembly, documentStore);
// scans a MEF catalog for all indexes and creates them
IndexCreation.CreateIndexes(catalog, documentStore);
// puts a single index the HARD way
documentStore.DatabaseCommands.PutIndex(...);
// puts a single index the easy way
documentStore.ExecuteIndex(new YourIndexCreationTask());
कुछ अन्य हैं, लेकिन आपको विचार मिलता है।
और बस पूरी तरह से हो सकता है, तुम सच में सूचकांक अस्तित्व के लिए जाँच करने के लिए करना चाहता था, तो आप इस्तेमाल कर सकते हैं:
documentStore.DatabaseCommands.GetIndex("YourIndex") != null
लेकिन वह केवल, नाम से जाँच करेगा परिभाषा के द्वारा नहीं। और आपको इसकी आवश्यकता नहीं है।
स्रोत
2012-12-12 22:22:07
मुझे पता है कि यह आपके प्रश्न का उत्तर नहीं देता है, लेकिन मुझे लगा कि यह उल्लेखनीय है कि RavenDB स्वचालित रूप से आपके लिए इंडेक्स बना देता है यदि आप इसे देते हैं। [यह रावेनडीबी दस्तावेज़ पृष्ठ] देखें (http://ravendb.net/docs/client-api/querying) और विशेष रूप से गतिशील अनुक्रमणिका के बारे में हिस्सा। – ean5533
@ ean5533 - जो गतिशील अनुक्रमणिका पर लागू होता है, हां। मेरा मानना है कि ओपी स्थिर सूचकांक के निर्माण के बारे में चिंतित है। स्पष्टीकरण के लिए –