关于lucence4.1的入门问题

张恕鑫 发布于 2013/03/03 19:53
阅读 986
收藏 0

最近有兴趣学习lucence,因此下了最新的lucence4.1.按照api文档和网上的教程学习,但是发现好多类所在的jar包和构造方法跟以前版本的差别很大(就比如3.5),出不来效果。

比如:document.add(new Field("content",new FileReader(file), TextField.TYPE_STORED));会报java.lang.IllegalArgumentException: fields with a Reader value cannot be stored

还有就是QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, "fieldname", analyzer);会报没有该构造方法的Exception。

希望大神指点,

 

加载中
0
张恕鑫
张恕鑫

调出来了,

1、将TextField.TYPE_STORED修改为TextField.TYPE_NOT_STORED。

2、QueryParser引错了包,不知道老版本有没有这个问题,在4.1中org.apache.lucene.queryparser.surround.parser和org.apache.lucene.queryparser.classic两个包里面都有QueryParser类,应该引入第二个包。

另外有个问题,生成索引时file是本地txt文件,用new FileReader(file)生成的索引查询时查不到,只有修改成new BufferedReader(new InputStreamReader(new FileInputStream(file), "utf-8"))才能查询到。

0
震秦
震秦
lz太初级了. 我都没法给说. 
张恕鑫
张恕鑫
嗯,刚开始接触,网上4.1的例子还很少,所以碰到各种问题。 希望大神门不吝赐教,真心感谢。
迷路的游侠
迷路的游侠
楼主很有韧劲的好哇,他为了这个问题搞到了凌晨
0
震秦
震秦

刚才测试了一下, 4.1.0 的api确实更新的很大. 这是我以前给朋友写的一个lucene入门的例子,改了一下也给你. Lucene 4.1.0已经测试运行没问题. 把图片下载下去后缀名改成zip就能解压了.

配置好paoding, 或者使用其他的分词器, 在更改:F/data/lucene/t1到你计算机上目录即可. IndexTest是测试索引数据, SearchTest是测试搜索的. 希望对你有用.

返回顶部
顶部