You are opening a new overwriting IndexWriter for every file, so only the last one is indexed. You should open your IndexWriter outside the loop and close it afterwards.

        Erik


On Apr 30, 2006, at 6:42 AM, Kostas V. wrote:

Dear Erick (and everyone who might read my post) hi and thank you very much
for your help.
I've tried your program but I do something wrong and it is only index the last txt in the directory. If you could see my problem because I am new to
Java and Lucene as well.
Thanks in advance

Kostas


public void parseAll() throws Exception {
            String sParentDir = "/database";

        indexTree(new File(sParentDir));
        }

        private void indexTree(File file) throws Exception {

        if (file.canRead()) {
        if (file.isDirectory()) {
        String[] files = file.list();
        if (files != null) {
        for (int idx = 0; idx < files.length; idx++) {
        indexTree(new File(file, files[idx]));
        }
        }
        } else {
        if (file.getName().toLowerCase().indexOf(".txt") == -1)
        return;
        String indexPath = "/portal-index";
        IndexWriter writer;
        GreekAnalyzer ana = new GreekAnalyzer();
        try {
            writer = new IndexWriter(indexPath, ana, true);

                 File indexFile = new File(""+file);
                 InputStream fis = new FileInputStream(indexFile);

                Document doc = new Document();

                doc.add(Field.UnIndexed("path", indexFile.getPath()));
                doc.add(Field.UnIndexed("length",
Long.toString (indexFile.length())));
                doc.add(Field.UnIndexed("modified",
new Date (indexFile.lastModified()).
                                        toString()));
                doc.add(Field.Text("text", (Reader)new
                               InputStreamReader(fis)));

                writer.addDocument(doc);
                writer.optimize();
                fis.close();

            writer.close();

    } catch (IOException ioe) {
            System.out.println(ioe);

        }
        }
        }
        }


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to