2010-09-27 20 views
11

मैं (Nutch का उपयोग कर कई वेबपेजों रेंगने द्वारा बनाई गई) एक Lucene सूचकांक का उपयोग करने की जरूरत है, लेकिन यह त्रुटि ऊपर दिखाए दे रहा है:कोई खंडों * फ़ाइल मिली

java.io.FileNotFoundException: no segments* file found in [email protected]/home/<path>: files: 
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:516) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:185) 
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:148) 
    at DictionaryGenerator.generateDict(DictionaryGenerator.java:24) 
    at DictionaryGenerator.main(DictionaryGenerator.java:56) 

मैं googled लेकिन कारणों को देखते हुए मिलान नहीं कर रहे थे आवश्यकताओं। तथ्य यह है कि फाइलें दिखायी जा रही हैं (पथ) का अर्थ है कि निर्देशिका खाली नहीं है।
धन्यवाद

उत्तर

7

असल में, त्रुटि संदेश कहता है कि ल्यूसीन को इंडेक्स निर्देशिका में उचित फ़ाइलें नहीं मिलीं। मैं निम्नलिखित की जांच करने का सुझाव देता हूं:

  1. इंडेक्स निर्देशिका का पथ सत्यापित करें जो आपको लगता है कि यह होना चाहिए।
  2. क्या नच और लुसीन संस्करण मैच का उपयोग करते हैं? यह एक संस्करण अंतर से हो सकता है।
  3. क्या कोई अनुमति समस्या है? क्या आप निर्देशिका में फाइलें पढ़ सकते हैं?
  4. Luke का उपयोग कर इंडेक्स को देखने का प्रयास करें। यदि आप नहीं कर सकते हैं, तो सूचकांक में शायद कुछ भ्रष्टाचार है।

यदि ये सभी मदद नहीं करते हैं, तो कृपया कोड के अनुक्रमण भाग को पोस्ट करें।

+0

मैंने उन सभी को नच और लुसीन संस्करणों को छोड़कर किया। मुझे पता नहीं था कि लुसीन और नच के बीच एक संगतता होनी चाहिए। अगर यह मदद करता है, तो ल्यूसीन संस्करण 2.2 है। मैं फाइलों तक पहुंच सकता हूं। असल में, मैं जावा प्रोग्राम को उसी निर्देशिका में इंडेक्स के रूप में चला रहा हूं। इसके अलावा, मैंने ल्यूक का उपयोग करके इंडेक्स की जांच की और यह निश्चित रूप से ठीक है। साथ ही, बात यह है कि मैं अभी परियोजना का हिस्सा बन गया हूं। सूचकांक नच द्वारा व्यापक क्रॉल का परिणाम है। तो, मेरे पास कोई अनुक्रमण कोड नहीं है। यह सिर्फ एक क्रॉल था .पर मैं अभी भी सटीक तस्वीर खोजने की कोशिश करूंगा। – crazyaboutliv

+0

एक बात मैंने देखी है कि नच (1.1) का नया संस्करण क्रॉल के बाद 5 फ़ोल्डर्स उत्पन्न करता है, जबकि मेरे पास डेटा केवल 4 है (जिसमें सेगमेंट एक है) फ़ोल्डर्स। क्या यह एक मुद्दा हो सकता है? – crazyaboutliv

+0

युवाल ने कहा, सुनिश्चित करें कि आपके द्वारा इंडेक्स को पढ़ने के लिए उपयोग किए जाने वाले जावा प्रोग्राम का उपयोग लुसीन के समान संस्करण का उपयोग करता है जो नच इंडेक्स बनाने के लिए उपयोग करता था। –

15

एक और संकेत, क्योंकि मुझे एक ही त्रुटि हो रही थी और पाया कि इंडेक्स बनाने के बाद मैंने इंडेक्सवाइटर बंद नहीं किया और यह बहुत ही अपमानजनक साबित हुआ। मेरे इंडेक्स डायरेक्टरी में मेरे पास कुछ हैं। फाइलें और कोई सेगमेंट या सेगमेंट.जेजेन फाइलें जो रीडर की तलाश में है। here # 3 विवरण के लिए

+0

सिर्फ उन लोगों के लिए जो सोच रहे हैं (जैसा मैंने किया): भले ही आप अपना इंडेक्सवाइटर बंद कर दें, फिर भी 'write.lock' फ़ाइल आपके फ़ोल्डर में मौजूद होगी। तो इस पर ध्यान न दें कि यह फ़ाइल हटाई नहीं गई है। – Munchkin

+0

यह मेरे लिए धन्यवाद, धन्यवाद। – Harry

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