写点什么

Lucene 2.2 发布:加入词条载荷、函数查询及性能提升

2007 年 7 月 11 日

Lucene Java 2.2已经可以使用啦!Lucene 是一个完全由 Java 编写的高性能、全特性的全文检索引擎库。在这一版中有许多新特性,其中包括:

  • 词条载荷(payloads)——允许用户将任意二进制数据和索引中的任意词条(term)相关联;
  • 函数查询(function queries)——为文档匹配度(score)的计算方式提供更高的可控性(从 Solr 中并入);
  • 通过 NFS 进行“瞬间(point-in-time)”查询——将类似于快照的功能引入 NFS
  • 用来操作预分析字段的新 API——可以让用户操作预先分析的文档字段而无须另加空分析器代码;
  • 公开的 Maven 发行版——Lucene 最新版本中的所有模块都可以通过 Maven Repository 获得。

InfoQ 采访了 Lucene 项目的代码贡献人及项目管理委员会(Project Management Committee,PMC)成员 Grant Ingersoll ,进一步了解了这个发布版。在谈话过程中,Ingersoll 希望 InfoQ 注明他所说的观点和意见都属于个人性质,不代表 Lucene PMC 的官方观点。

InfoQ 了解到,Lucene 2.2 的发布标志着该项目的发布周期朝着一个更短的按季度发布的方向飞跃。Ingersoll 相信更频繁的发布会带来很多的好处,比如说使为社区提供 Bug 修复和新特性变得更快。发布过程也因为得到 Maven 的支持而变得更加有效率,因此未来 Maven 用户将能更快速地获得发布版本。

InfoQ 请 Ingersoll 详细地描述了词条载荷的特性,他说:

词条载荷是一个允许信息在索引中按逐词条储存的新特性。例如,当索引 Web 页面时,储存某个关键词的额外信息可能会很有用,例如这个关键词关联的 URL 或者经过文字分析后得出的权重系数。在更高级的应用中,为了突出语句中的名词成分相对于其它成分的重要性,储存语句中这个关键词出现的部分可能会很有帮助。我今年在 ApacheCon Europe 会议上的演讲中就有几张讲述词条载荷的幻灯片,感兴趣的读者可以去看看。

他还描述了源于 Solr 的新的函数查询功能:

新的搜索函数包( org.apache.lucene.search.function)允许开发人员在计算文档相关度使用某个字段的实际内容。例如,如果你在文档的字段中储存精度和纬度信息,你就可以使用这些字段中的信息影响文档的排名。就是说,如果你搜索星巴克,你可以在结果中将离用户较近的分店(假定你知道用户的地点)排在较远分店的前面。另一个例子是使用价格或者利润信息来影响排名(即给能为公司带来更大利润的产品打更高的评分,并不是说道义上我同意这样做,但它确实可以做到)。

随后,在 Ingersoll 被问到用户对 Lucene 的后续版本会有什么期望时,他指出,在使用了 Michael McCandless 领导的几项新的内存管理技术之后,索引性能将会得到显著提升。他还提到,在最近发布的 Lucene 中已经加入了不少性能改善,用户可以自己去体验一下这些变化。最后,Ingersoll 说,对 Java 5 的支持和更灵活的索引过程将是 Lucene 未来可能出现的特性。

这一版提供了一个全面的更新日志,列出了这个版本中所有已修复的Bug、特性和优化情况。和以前的版本一样,2.2 版也可以读取和导入以前版本的索引,不过一旦进行了转换,索引将不能被以前的版本(如2.1 版)使用。

查看英文原文: Lucene 2.2: Payloads, Function queries, and more speed

2007 年 7 月 11 日 00:30459
用户头像

发布了 89 篇内容, 共 91820 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

面试难题:为什么HashMap加载因子默认值0.75?

Java小咖秀

Java hashmap 面试题

手写

AIK

Java 字符串连接运算符干了什么?

封不羁

Java

代码重构能力体会总结

周冬辉

【架构师训练营】第三期作业

云064

Git | Git 操作整理-基础篇

多选参数

git GitHub 版本控制 版本管理工具

homework 3

东哥

week3

AIK

架构师训练营第 03 周—— 练习

李伟

极客大学架构师训练营

菜鸟的系统架构师如何应对交易系统激增的系统流量

阿里云原生团队

如何科学的做体检?

石云升

体检 癌症筛查

【架构师训练营】第三期

云064

架构师训练营第三周总结

邵帅

ARTS-Week 02

chasel

可读代码编写炸鸡一

多选参数

代码 代码组织 代码规范

小师妹学JVM之:JIT中的PrintCompilation

程序那些事

JVM Java 25 周年 小师妹 性能调优 JIT

架构师训练营第 0 期 - 第 3 周 - 学习总结

极客大学架构师训练营

分布式系统消息异常该何去何从

架构师修行之路

分布式 分布式锁

架构师训练营第三周

邵帅

架构师训练营第 0 期 - 第 3 周 - 命题作业

极客大学架构师训练营

软件设计原则 - 第三周总结

孙志平

第三周作业

小树林

软件设计原则 - 第三周作业

孙志平

什么是技术债,为什么要还技术债?

Phoenix

项目管理 架构 技术 管理 工作方式

架构师训练营第 03 周——总结

李伟

极客大学架构师训练营

架构师训练营 No.3 周总结

连增申

Week03 作业

极客大学架构师训练营

重学 Java 设计模式:实战迭代器模式「模拟公司组织架构树结构关系,深度迭代遍历人员信息输出场景」

小傅哥

设计模式 小傅哥 重构 代码规范 迭代器模式

架构师训练营第三周命题作业

hifly

设计模式 单例模式 极客大学架构师训练营 组合模式 手写代码

第三周总结

小树林

软件设计之术-设计模式学习应用心得

旭东(Frank)

架构 设计模式 技术交流 架构师 极客大学架构师训练营

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

Lucene 2.2发布:加入词条载荷、函数查询及性能提升-InfoQ