[ 
http://issues.apache.org/jira/browse/LUCENE-632?page=comments#action_12423128 ] 
            
Karsten Dello commented on LUCENE-632:
--------------------------------------

Here is the code.
It is copied from 
http://today.java.net/pub/a/today/2005/08/09/didyoumean.html?page=2#generating_spell_index

I am pretty sure this code worked with 1.4.3?



package de.kobv.lucene.spellcheck;

import java.io.File;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.spell.Dictionary;
import org.apache.lucene.search.spell.LuceneDictionary;
import org.apache.lucene.search.spell.SpellChecker;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;


public class SpellCheckIndexer {

        public final static String LUCENEFIELD="AlleFelder";

    public static void main(String [] args) {
        
        if (args.length!=2) {
                System.out.println("usage: java 
de.kobv.lucene.spellcheck.SpellCheckIndexer <sourceIndexDirectory> 
<spellCheckIndexDirectory>");
                return;
        }
        String indexDir=args[0];
        String spellcheckpath=args[1];
        
        try {
        
        SpellCheckIndexer sci= new SpellCheckIndexer();
        
        System.out.println("creating spell check index at "+new 
java.util.Date(System.currentTimeMillis()));
        System.out.println("indexDir:"+indexDir+" 
spellcheckdir:"+spellcheckpath);
        
        Directory d1 = FSDirectory.getDirectory(indexDir,false);

        // make sure the directory exists
        File f= new File(spellcheckpath);
        f.mkdir();

        Directory d2= FSDirectory.getDirectory(spellcheckpath,true);

        sci.createSpellIndex(LUCENEFIELD,d1,d2);
        
        System.out.println("finished at"+new 
java.util.Date(System.currentTimeMillis()));
        
        
        
        }
        catch(Exception e) {e.printStackTrace(System.out);}
    }

    
    public void createSpellIndex(String field,
            Directory originalIndexDirectory,
            Directory spellIndexDirectory) throws IOException {

        System.out.println(""+field+" - "+originalIndexDirectory+" - 
"+spellIndexDirectory);
        
        IndexReader indexReader = null;
        try {
            indexReader = IndexReader.open(originalIndexDirectory);
            System.out.println("Index mit "+indexReader.numDocs()+" docs in 
"+originalIndexDirectory+" geoeffnet.");
        
            Dictionary dictionary = new LuceneDictionary(indexReader, field);
            
            SpellChecker spellChecker = new SpellChecker(spellIndexDirectory);
            spellChecker.indexDictionary(dictionary);
            
        } 
        catch (Exception e) {
                e.printStackTrace();
        }
        
        finally {
            if (indexReader != null) {
                indexReader.close();
            }
        }
    }


}


> The creation of a spell index from a LuceneDictionary via 
> SpellChecker.indexDictionary (Dictionary dict) fails starting with 1.9.1 (up 
> to current svn version)
> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-632
>                 URL: http://issues.apache.org/jira/browse/LUCENE-632
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Other
>    Affects Versions: 1.9, 2.0.0
>            Reporter: Karsten Dello
>            Priority: Minor
>
> Two different errors in 1.9.1/2.0.0 and current svn version.
> 1.9.1/2.0.0:
> at the end of indexDictionary (Dictionary dict) 
> the IndexReader-instance reader is closed.
> This causes a NullpointerException because reader has not been initialized 
> before (neither in that method nor in the constructor).
> Uncommenting this line (reader.close()) seems to resolve that issue.
> current svn:
> the constructor tries to create an IndexSearcher-instance for the specified 
> path;
> as there is no index in that path - it is not created yet -  an exception is 
> thrown.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to