Lucene2.0与lucene1.4的比较

 
前阵子说看了Ajax+Lucene之后就写读后的体会的,但是事情多,一直拖到了现在。
简单就写一点2.0与1.4之间最常用的地方的改变
1.4中doc.add(Field.text(...))之类的写法,是往document中加feild的时候,直接调用Filed的static方法
由以下几种
Field.Text(...)
Field.Keyword(...)
Field.Unindexed(...)
Field.UnStored(...)
虽然在1.4中也提供了Field的构造方法的时候支持不同类型的Field,但是常见的还是采用上面的static的方法
来达到对field 是否切词、是否索引、是否存储的处理
但是在2.0中,doc.add(new Field(.....))的方法来加field的处理,主要有几个常量来指定对field的处理,Field.Index.YES
Field.Store.YES.....之类的方式

在解析的时候,
构建Query对象进行查询
在1.4中是这么做的
Query query = null;
query = QueryParser.parse("...","...",new StandardAnalyzer());
但是在2.0中要这么写
QueryParser parser = new QueryParser("...",new StandardAnalyzer());
query = parser.parse("...");
看上去好像没有什么太大的不一样,但是事实上仔细想想,后者的接口设计更合理。
这也是API设计中很重要的地方,给client程序员最大的便利

还有其他很多不一样的地方,但是这两个地方的不一样是你在构建简单的lucene应用中一定会遇到的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值