2007-08-21
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应用中一定会遇到的
简单就写一点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应用中一定会遇到的
评论
yonguo
2007-08-29
yonguo
2007-08-29
呵呵,不是原创,是引用别人的。
引用地址在文章的下面。
引用地址在文章的下面。
linginfanta
2007-08-25
说详细一点呀,不是原创吧。
发表评论
- 浏览: 16627 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
spring中使用proxool作数 ...
感谢
-- by love182055084 -
Roller学习前言
你好请问你怎么把那个源代码放到MyEclipse里面的
-- by chengqianl -
C3P0连接池错误
spring与之应用则也会出现死锁,是不是上面的问题还不清楚!
-- by axiang_2898 -
Eclipse的Velocity和Html ...
thank
-- by linguohuistudy -
重构之Velocity应用经验( ...
Velocity 提供了toolbox加载机制解决对数组、日期、运算等处理。如L ...
-- by bloodwolf_china






评论排行榜