On Mon, Sep 27, 2010 at 1:35 AM, Andi Vajda <va...@apache.org> wrote:
> > On Mon, 27 Sep 2010, Robert Muir wrote: > > >> >> On Sun, Sep 26, 2010 at 10:05 PM, Andi Vajda <va...@apache.org> wrote: >> >> Doing so causes this complaint to be emitted while building the >> wrappers: >> >> WARNING: Can not find lexical dictionary directory! >> WARNING: This will cause unpredictable exceptions in your application! >> WARNING: Please refer to the manual to download the dictionaries. >> >> What's the trick to have the lexical dictionary directory found ? >> A quick glance at the javadocs [1] doesn't seem to say. >> >> Andi.. >> >> [1] http://lucene.apache.org/java/3_0_2/api/contrib-smartcn/index.html >> >> >> the way this analyzer loads resources is a bit hairy. take a look at >> WordDictionary.getInstance() for example. >> so when this is called, it first checks, in this order: >> * from inside the jar itself: resources/.../hmm/coredict.mem [this should >> always succeed!] >> * from the AnalyzerProfile thing, which is whats emitting the error. >> >> try { >> singleInstance.load(); >> } catch (IOException e) { >> String wordDictRoot = AnalyzerProfile.ANALYSIS_DATA_DIR; >> singleInstance.load(wordDictRoot); >> >> So when you are building the wrappers, is it just that you are causing >> java >> to load this AnalyzerProfile some other way manually? because as soon as >> you try to load AnalyzerProfile its going to emit these >> warnings... >> if pylucene is just loading this class itself (to make it accessible via >> python), i think this is just harmless? >> > > Yes, that's most likely it. JCC loads each and every public class unless > told not to to generate wrappers for it. If this AnalyzerProfile class is > not necessary from Python, it should be put on the --exclude list. > yeah i just tested, i get the same error in java if i do this: Class.forName("org.apache.lucene.analysis.cn.smart.AnalyzerProfile"); So really we just need to clean up this analyzer some, because the data files are packaged in the jar and i think this AnalyzerProfile stuff is not needed and confusing. -- Robert Muir rcm...@gmail.com