InfoQ

新闻

Apache Lucene与Lucene.Net——全文检索服务器

作者 Jonathan Allen译者 张龙 发布于 2008年11月10日 下午8时22分

社区
.NET,
Java
主题
搜索
标签
Lucene

十年前,在Windows世界中使用开源项目简直是不可想象的一件事。现在.NET程序员在Java平台上验证并开发的企业级软件世界中也开始觉醒了。今天让我们一起来看看流行的全文检索引擎——Apache Lucene与Lucene.Net。

Apache Lucene与其兄弟Lucene.Net是经过了大规模测试的产品,他们已经为一些著名站点如Wikipedia、CNET及Monster.com提供了搜索功能。因此,没人会怀疑其功能与未来的发展。

Lucene并不是一个爬行搜索引擎,也不会自动地索引内容。我们得先将要索引的文档中的文本抽取出来,然后再将其加到Lucene索引中。标准的步骤是先初始化一个Analyzer、打开一个IndexWriter、然后再将文档一个接一个地加进去。一旦完成这些步骤,索引就可以在关闭前得到优化,同时所做的改变也会生效。这个过程可能比开发者习惯的方式更加手工化一些,但却在数据的索引上给予你更多的灵活性。

我们可以借助于一个对象模型来完成搜索,通过查询来建立条件。其次,Lucene可以解析并执行(可能由最终用户输入的)普通文本搜索字符串。使用.NET 3.5或后续版本的.NET开发者还有第三种选择:LINQ to Lucene。其项目主页上有一张图清晰地描述了Lucene的搜索语法与相应的LINQ to Lucene语法的区别。

如果你想试一下,可以参考Andrew Smith对Lucene.NET的介绍。无论你选择.NET还是Java版本,看看Erik Hatcher对Lucene的介绍都会大有好处。

查看英文原文:Apache Lucene and Lucene.Net – Full Text Search Servers

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!