2011-11-03 24 views
5

को स्थापित और सेटअप कैसे करूं, मैंने प्रश्नों और वास्तव में RavenDb दस्तावेज़ों को देखा है। RavenDb Index Replication Docs पर थोड़ा सा है लेकिन इंडेक्स रेप्लिकेशंस बनाने के लिए/कब/कहां पर कोई मार्गदर्शन नहीं लगता हैमैं RavenDb इंडेक्स प्रतिकृति

हमारा उपयोग केस बहुत आसान है (यह एक स्पाइक है)। वर्तमान में हम नई वस्तुओं (गायों) बनाते हैं और उन्हें रेवेन में स्टोर करते हैं। हमारे पास LINQ (उदा। from c in session.Query<Cows> select c) का उपयोग करके गतिशील रूप से बनाए गए कुछ प्रश्न हैं।

अब मैं नहीं देख सकता कि मुझे सूचकांक को दोहराने के लिए कहां परिभाषित करना चाहिए। कोई विचार? मैं बंडल के पकड़ लिया और सर्वर निर्देशिका में जोड़ा (मैं इसे RavenDB.1.0.499\server\Plugins जहां RavenDB.1.0.499\server Raven.Server.exe शामिल होना चाहिए संभालने हूँ) किया है

संपादित: धन्यवाद Ayende ... नीचे इस सवाल का जवाब और ravendb समूहों में मदद की। फेसपाल्म पल था। भले ही यहां कुछ विवरण दिया गया है जो किसी और की मदद कर सकता है। यह वास्तव में बहुत आसान है और वास्तव में 'बस काम करता है':

ए) सुनिश्चित करें कि प्लगइन्स उठाए जा रहे हैं। आप आंकड़ों में इन्हें देख सकते हैं -/localhost के माध्यम से उपलब्ध: 8080/आंकड़े url (डिफ़ॉल्ट सेटिंग्स मानते हैं)। आपको इंडेक्स रेप्लिकेशंस बंडल के संबंध में 'एक्सटेंशन' में प्रविष्टियां देखना चाहिए।

तो DLLs (बंडल और सर्वर) के संस्करणों सुनिश्चित मौजूद नहीं एक ही

ख) सूचकांक आप को दोहराने के लिए बनाया गया है चाहते हैं सुनिश्चित कर रहे हैं। वे क्लाइंट एपीआई या HTTP एपीआई के माध्यम से बनाया जा सकता है।

क्लाइंट API:

public class Cows_List : AbstractIndexCreationTask<Cow> 
{ 
    public Cows_List() 
    { 
     Map = cows => from c in cows select new { c.Status }; 
     Index(x => x.Status, FieldIndexing.Analyzed); 
    } 
} 

HTTP एपीआई (स्टूडियो में): // गायों/सूची docs.Cows .Select (क्यू => नई {स्थिति = q.Status})

सी) प्रतिकृति दस्तावेज़ बनाएँ। यहां सुराग दस्तावेज है। संग्रहीत सबकुछ की तरह, यह भी एक दस्तावेज़ है। तो बनाने यह Db में संग्रहित किया जाना चाहिए के बाद:

वर replicationDocument = नए Raven.Bundles.IndexReplication.Data.IndexReplicationDestination { id = "रेवेन/IndexReplication/Cows_List", ColumnsMapping = {{ "स्थिति", " स्थिति "}}, कनेक्शनस्ट्रिंगनाम =" रिपोर्ट्स ", प्राथमिक केको कॉलमनाम =" आईडी ", टेबलनाम =" गायसमारी " }; सत्र। स्टोर (प्रतिकृति दस्तावेज़); सैसन। सेव चेंज();

घ) सुनिश्चित करें कि आप (जैसे कि MVC एप्लिकेशन या कंसोल)

ई) आरडीबीएमएस स्कीमा बनाएं ग्राहक में निम्नलिखित। मैं 'cowReports' में एक टेबल है:।

टेबल [dbo] बनाएँ [cowSummaries] ( [ID] nvarchar शून्य, [स्थिति] nchar शून्य)

मेरे विशेष समस्या सूचकांक दस्तावेज़ जोड़ने नहीं किया गया था स्टोर करने के लिए। मुझे पता है। फेसपाल्म। बेशक सब कुछ एक दस्तावेज है। एक जादू की तरह काम करता है!

उत्तर

1

आपको दो चीजों को परिभाषित करने की आवश्यकता है। ए) एक सूचकांक जो दस्तावेज़ को पंक्ति आकार में बदल देता है। बी) एक दस्तावेज़ जो RavenDB को बताता है कनेक्शन स्ट्रिंग नाम, तालिका का नाम, और कॉलम

+0

धन्यवाद Ayende - यह 2 चीजों में से एक है जिसे मुझे RavenDb के साथ स्थापित करने में मुश्किल हो रही है (शेष बाकी रहा है बहुत सरल) 1) मैं प्रतिलिपि दस्तावेज कहां/कब बना सकता हूं, क्या यह प्रति सत्र एक बार होता है? या ऐप? मुझे लगता है कि ऐप ... 2) एएसपी.Net के साथ सत्र प्रबंधन (मैं IDocumentStore इंजेक्ट नहीं करना चाहता - यह स्टब या मॉक के लिए एक विस्तृत इंटरफ़ेस है) - मैं एक वार्तालाप (जैसे nHiberante) चाहता हूं। – penderi

+0

ठीक है सत्रों को क्रमबद्ध किया गया है (मैं HHpernate/Monorail - HttpContext में स्टोर सत्र के लिए समान प्रथाओं का उपयोग कर रहा हूं)। लेकिन मुझे डर है कि मैं अभी भी स्पष्ट नहीं हूं कि rteplication दस्तावेज़ और अनुक्रमणिका कैसे बनाएं/कैसे ... किसी भी मार्गदर्शन की सराहना की। – penderi

+0

भी .... मैं पूछताछ के लिए गतिशील अनुक्रमणिका का उपयोग कर रहा हूँ। प्रतिकृति के लिए मैं समर्पित इंडेक्स कहां स्थापित करूं ?? मैं वही जगह मान रहा हूँ। क्या यह एक प्रति-प्रति-वेबपैम प्रति परिदृश्य है (मैं app_start सोच रहा हूं)? – penderi