21

मैं जिस कोडबेस पर काम करता हूं वह बहुत बड़ा है, और इसे पकड़ने में लगभग 20 मिनट लगते हैं। मैं एक अच्छा वेब-आधारित स्रोत कोड खोज इंजन ढूंढ रहा हूं .. koders.com के इंट्रानेट संस्करण की तरह कुछ।एक अच्छा स्रोत कोड खोज इंजन क्या है?

केवल एक चीज जो मैंने पाया है वह क्रुगल एंटरप्राइज़ संस्करण है, जो इसकी कीमतें पोस्ट नहीं करता है ... और यदि आपको पूछना है, तो आप इसे बर्दाश्त नहीं कर सकते हैं।

मैं वास्तव में एक सादे पुराने खोज इंजन को पसंद करता हूं, बिना कई अन्य घंटियाँ और सीटी।

स्रोत अधिकतर ASP.NET/C# और जावास्क्रिप्ट है।

+0

क्या आप समझा सकते हैं कि वास्तव में उद्देश्य क्या है, उदा। कोड के लिए अपना स्वयं का स्रोत फोर्ज, या क्या आपको विस्तारित दर्शक की आवश्यकता है? प्राथमिक उपयोग खोज/grep है? और आप "ढूंढने" की क्या अपेक्षा करते हैं। मैंने संक्षेप में कोडर्स को देखा और मैं कर सकता हूं; टी (वास्तव में) एक कंपनी के लिए एक केस केस की कल्पना करें, इसलिए सवाल। – Till

+0

और आप अपना कोड बेस कहां स्टोर करते हैं? अगर सभी की चेक-आउट स्थानीय प्रतिलिपि है (जैसा कि आधुनिक वीसीएस में होना चाहिए), तो इसे बहुत तेजी से जाना चाहिए। यदि आप एनएफएस पर काम कर रहे हैं, तो आप कोड बेस को जितनी जल्दी हो सके खोज सकते हैं क्योंकि आप पूरी चीज को अपने LAN पर स्थानांतरित कर सकते हैं। –

+0

@ डेविड: ... यदि आप खोज करते समय प्रत्येक फ़ाइल के पाठ को पढ़ने पर जोर देते हैं। यदि आप पहले फ़ाइलों को इंडेक्स करते हैं, तो आपको टेक्स्ट को स्कैन करने की आवश्यकता नहीं है और यह बहुत तेज़ हो सकता है। मेरा जवाब देखें –

उत्तर

2

Lxr बड़े कोड बेस पर बहुत अच्छा काम करता है, जैसा कि linux kernel के साथ साबित हुआ है। मुझे लगता है कि यह केवल सी के लिए है (आपने उपयोग की जाने वाली भाषाओं को निर्दिष्ट नहीं किया है)।

1

यदि आपके पास इतना स्रोत कोड है, तो आपको इसे अनुक्रमणित करने के लिए एक खोज इंजन स्थापित करने में थोड़ा समय देना पड़ सकता है। मैं ल्यूसीन की सिफारिश करता हूं - इसका मुफ़्त, इसका तेज़, प्रोग्रामिंग अनुभव वाले किसी भी व्यक्ति के लिए किसी भी सामग्री पर एक शक्तिशाली इंडेक्स स्थापित करना बहुत आसान है।

http://lucene.apache.org/

+0

मैं एक अच्छा shrinkwrapped समाधान की उम्मीद कर रहा था। लेकिन अगर हम एक नहीं पा रहे हैं, तो हम ल्यूसीन या इसी तरह के आसपास एक खोज इंजन का निर्माण कर सकते हैं। – toohool

+0

हाँ - मुझे लगता है कि आपके पास वास्तव में कोड का एक टन है - हम ~ 1 मिलियन लाइनों से निपटते हैं, और पाते हैं कि इसे एक शक्तिशाली डेस्कटॉप पर अच्छे आधुनिक आईडीई (उदाहरण के लिए इंटेलि-जे) में पर्याप्त रूप से संभाला जा सकता है जब तक चीजें हैं मॉड्यूल में टूट गया। – Peter

-1

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

टैगिंग का समर्थन करने वाले संपादकों या आईडीई के कुछ उदाहरण ग्रहण, विजुअल स्टूडियो, SlickEdit हैं। कुछ आईडीई सुविधा प्रतीक ब्राउज़र या कुछ समान कह सकते हैं।

+0

क्या वह एएसपीएक्स या जावास्क्रिप्ट फाइलों जैसे असम्पीडित कोड के साथ काम करेगा?क्या कोड टिप्पणियां खोजने योग्य होंगी? हमें वास्तव में एक पूर्ण-पाठ खोज की आवश्यकता है। – toohool

+0

वाह, अभी भी 4.3 साल बाद डाउनवॉट प्राप्त कर रहा है। अगर मैं आज यह जवाब लिख रहा था, तो मैं स्वर बदल दूंगा। जब मैं इसे अभी पढ़ता हूं, तो मूल उत्तर थोड़ा सा उपदेश लगता है। – shoover

+0

इन दिनों मैं सब्लिमे टेक्स्ट का उपयोग करता हूं, जिसमें पिछले वर्ष (जावा, ग्रोवी, क्लोजर, जावास्क्रिप्ट, सीएसएस, हास्केल, आर) में उपयोग की जाने वाली प्रत्येक भाषा के लिए सिंटैक्स हाइलाइटर्स हैं, साथ ही उपयोगकर्ताओं और प्लगइन डेवलपर्स का स्वस्थ समुदाय भी है। यह एएसपी को भी हाइलाइट कर सकता है, और किसी ने [एएसपीएक्स] (http://myfreakinname.blogspot.com/2013/06/adding-aspx-to-sublime-text-2s-syntax.html) के लिए एक चिमटा प्रदान किया है। पूर्ण-पाठ खोज (हां, टिप्पणियां भी) बहुत तेज है और आप संपादक के भीतर से कई परियोजनाओं के माध्यम से खोज सकते हैं। मुझे एसटी के साथ कोई संबद्धता नहीं है; मैं सिर्फ एक खुश भुगतान ग्राहक हूँ। – shoover

6

20 मिनट अपमानजनक है! मैं इन दिनों एक लाख + लाइन स्रोत कोड बेस के साथ काम कर रहा हूं और अधिकांश में grepping कुछ सेकंड लेता है (मैं ack का उपयोग करता हूं)। हमारी होम निर्देशिका फाइल सर्वर पर संग्रहीत होती है और एनएफएस पर घुड़सवार होती है, और फ़ाइल सर्वर पर लॉग इन करते समय हम ऐसा करते हैं। मुझे यकीन नहीं है कि यह एनएफएस पर कितना समय लगता है, लेकिन यह निश्चित रूप से लंबा है।

हम उसी प्रदर्शन कारणों से फ़ाइल सर्वर में लॉग इन करते समय स्रोत नियंत्रण संचालन भी करते हैं।

+0

एके महान है। और आप शायद एक घंटे से भी कम समय में एक प्राथमिक वेब फ्रंटेंड फेंक सकते हैं। – Thomas

1

चूंकि आप कह रहे हैं 'grepping' मुझे लगता है कि आप कमांड लाइन समाधान में रुचि नहीं रखते हैं।

ctags जैसे टूल को इंडेक्स और सर्च सी # और जावास्क्रिप्ट कोडबेस (कई अन्य लोगों के बीच) मिलेगा।

सीटीएजी के बारे में बहुत साफ क्या है कि यह कोड कोडिंग को सक्षम करने के लिए या कोड पूर्ण करने में सक्षम करने के लिए स्रोत कोड ब्राउज़िंग या vim omnicomplete के साथ टैगलिस्ट प्लगइन के साथ विम के साथ जोड़ा जा सकता है।

3

लिनक्स पर मैं जीएनयू ID Utils का उपयोग करता हूं इनके पास grep के समान कार्य हैं लेकिन एक इंडेक्स से काम करते हैं ताकि वे अविश्वसनीय रूप से तेज़ हों। आप एक इंडेक्स बनाने के लिए एमकेआईडी चलाते हैं और फिर "गीड" जैसी अन्य उपयोगिताओं में से एक है जो इंडेक्स में grep के लिए grep का आईडी टूल्स संस्करण है। मेरे पास एक क्रॉन नौकरी है जो कभी-कभी एमकिड चलाती है।

आईडी उपकरण के रूप में अच्छी तरह से विंडोज पर काम करते हैं, या तो cygwin के साथ या एक standard windows program

8

के रूप में मैं OpenGrok सलाह देते हैं। कुछ अन्य इंजन हैं, here उनकी त्वरित समीक्षा है।

1

मैंने थोड़ी देर के लिए cs2project का उपयोग किया है, यह लुसेन.NET पर आधारित एक ओपन सोर्स सी # कोड सर्च इंजन है। दुर्भाग्य से यह अब विकसित नहीं किया जा रहा है।

0

हमारे SD Source Code Search Engine देखें। भाषा जागरूक और कई भाषाओं को संभालने (सी, सी ++, सी #, जावा, ऑब्जेक्टिव सी, पीएचपी, वीबीनेट, वीबी 6, एडा, फोरट्रान, कोबोल, ...)। लिनक्स कर्नल (7.3 मिलियन लाइनों, 18000+ फाइलों) में खोजने के लिए 2.8 सेकंड लेता है।

क्योंकि यह भाषा जागरूक है, यह आपकी खोज के लिए अप्रासंगिक लैंगेज तत्वों को अनदेखा कर सकता है (उदाहरण के लिए, अगर आप केवल पहचानकर्ता या अभिव्यक्ति में रूचि रखते हैं तो टिप्पणियां, स्वरूपण और सफेद स्थान को अनदेखा करें)। यह पहचानकर्ताओं, तारों और टिप्पणियों के अंदर खोज सकते हैं। यदि आप वास्तव में ऐसा करना चाहते हैं तो इसमें पूर्ण नियमित-अभिव्यक्ति स्ट्रिंग खोज विकल्प है।

इसका उपयोग कोड के लाखों लाइनों की प्रणालियों के लिए किया गया है, और एक मामले में हम एक लाख से अधिक फाइलों वाली प्रणाली के बारे में जानते हैं।

0

मैं एक ऐसी ही समस्या थी। मैं एक सॉफ्टवेयर कंपनी के लिए काम करता हूं जहां परियोजना में सी #, सी ++, एएसपीनेट, डीबी स्क्रिप्ट्स और यहां तक ​​कि वीबी 6 स्रोत कोड शामिल है (हाँ, यह दृश्य वीडी 6 परियोजनाओं को संकलित करता है जब दृश्य स्टूडियो के बाद के संस्करण में समाधान की कोई अवधारणा नहीं होती है। ..)

मैं विजुअल स्टूडियो 2010 का उपयोग कर रहा हूं लेकिन डीबी स्क्रिप्ट्स और vb6 स्रोत कोड में खोजने के लिए तीसरे पक्ष के टेक्स्ट एडिटर का उपयोग करना पड़ा।

मैंने कुछ शोध किया और KodeEx (http://kodeex.com) पाया और इससे खुश रहे। यह एक सूचकांक आधारित स्रोत कोड खोज उपकरण है। आपको कुछ भी बनाने की ज़रूरत नहीं है (जैसा कि अन्य लोगों ने सुझाव दिया है कि आप लुसीन के साथ करते हैं। लुसीन रास्ते से एक अच्छा ओपन सोर्स प्रोजेक्ट है))। बस इसे स्थापित करें और इसे अपनी परियोजनाओं को अनुक्रमित करने दें। इसके बाद यह आमतौर पर कुछ सेकंड के भीतर परिणाम देता है।

संबंधित मुद्दे