Z
ZHC
Unregistered / Unconfirmed
GUEST, unregistred user!
我用几天假期研究了一下lucene,和你的ChineseAnalyzer,有几点想和你交流交流。
1.关于用delphi改写该软件的问题。实际上你的ChineseAnalyzer并未使用
javacc生成的七个文件,也就是说完全可以用delphi改写,跟JAVACC好像没有关系
但是工作量确实有些大。
2、如何识别不同编码的文件,目前reader类好像只能使用系统默认的编码读取
ANSI文件,如果在英文系统上读取中文文件,不知结果如何,或者如果读取UICODE
编码文件或UTF8编码文件,是否能够识别。
3.ChineseTokenizer类的next函数,里的语句:
dataLen = input.read(ioBuffer),是否能够放入try...catch中,因为我发现
如果存在这样一个文件,其结尾是一个大于127的asicc码(例如用ultraedit编写这样一个文件
“你D3" D3是ASICC码),读取时会抛出异常,应该予以截获。
我是这样改的:
try{
dataLen = input.read(ioBuffer);}
catch (Exception e){
dataLen=-1;
return flush();
}
4.我想在delphi中使用lucene(又不想用delphi改写全部代码),于是我想使用JNI调用lucene
API。我已经成功地使用delphi改写了lucene中的demo程序,不过在delphi中传递string给
java,使我琢磨了好一阵,原以为调用JVM.JStringToString就可以了,结果发现传过去是
乱码,只能先把delphi中的string转换成utf以后才能传递给java,我一直以为java
能够自动完成呢,浪费我半天时间,好在jcl(jedi)中有现成的函数.下一步我想编写
控件包装一下调用,让广大delphi用户也能自由使用lucene,但是工作量恐怕不小,不知
对此你有什么建议
以上只是几点看法,顺便说一下,为了研究lucene,我专门学习了java,到今天才三天时间,
给我的感觉,是java世界象海洋,一望无际,辽阔无比,看来IT人太累了,学习真是无止境。
1.关于用delphi改写该软件的问题。实际上你的ChineseAnalyzer并未使用
javacc生成的七个文件,也就是说完全可以用delphi改写,跟JAVACC好像没有关系
但是工作量确实有些大。
2、如何识别不同编码的文件,目前reader类好像只能使用系统默认的编码读取
ANSI文件,如果在英文系统上读取中文文件,不知结果如何,或者如果读取UICODE
编码文件或UTF8编码文件,是否能够识别。
3.ChineseTokenizer类的next函数,里的语句:
dataLen = input.read(ioBuffer),是否能够放入try...catch中,因为我发现
如果存在这样一个文件,其结尾是一个大于127的asicc码(例如用ultraedit编写这样一个文件
“你D3" D3是ASICC码),读取时会抛出异常,应该予以截获。
我是这样改的:
try{
dataLen = input.read(ioBuffer);}
catch (Exception e){
dataLen=-1;
return flush();
}
4.我想在delphi中使用lucene(又不想用delphi改写全部代码),于是我想使用JNI调用lucene
API。我已经成功地使用delphi改写了lucene中的demo程序,不过在delphi中传递string给
java,使我琢磨了好一阵,原以为调用JVM.JStringToString就可以了,结果发现传过去是
乱码,只能先把delphi中的string转换成utf以后才能传递给java,我一直以为java
能够自动完成呢,浪费我半天时间,好在jcl(jedi)中有现成的函数.下一步我想编写
控件包装一下调用,让广大delphi用户也能自由使用lucene,但是工作量恐怕不小,不知
对此你有什么建议
以上只是几点看法,顺便说一下,为了研究lucene,我专门学习了java,到今天才三天时间,
给我的感觉,是java世界象海洋,一望无际,辽阔无比,看来IT人太累了,学习真是无止境。