Lucene:基于Java的全文检索引擎简介

Lucene是一个基于Java的全文索引工具包。

基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史

全文检索的实现:Luene全文索引和数据库索引的比较

中文切分词机制简介:基于词库和自动切分词算法的比较

具体的安装和使用简介:系统结构介绍和演示

Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展

从Lucene我们还可以学到什么

基于Java的全文索引/检索引擎——Lucene

Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。

Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出的Lucene的目标是为各种中小型应用程序加入全文检索功能。

Lucene的发展历程:早先发布在作者自己的www.lucene.com,后来发布在SourceForge,2001年年底成为APACHE基金会jakarta的一个子项目:http://jakarta.apache.org/lucene/

已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有:

Jive:WEB论坛系统;

Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档“TheLucene search engine: Powerful, flexible, and free”作者就是EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要邮件列表归档系统。

Cocoon:基于XML的web发布框架,全文检索部分使用了Lucene

Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Lucene

对于中文用户来说,最关心的问题是其是否支持中文的全文检索。但通过后面对于Lucene的结构的介绍,你会了解到由于Lucene良好架构设计,对中文的支持只需对其语言词法分析接口进行扩展就能实现对中文检索的支持。

全文检索的实现机制

Lucene的API接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>字段,所以很多传统的应用的文件、数据库等都可以比较方便的映射到Lucene的存储结构/接口中。总体上看:可以先把Lucene当成一个支持全文索引的数据库系统。

比较一下Lucene和数据库:

时间: 2024-11-05 04:50:56

Lucene:基于Java的全文检索引擎简介的相关文章

在应用中加入全文检索功能——基于Java的全文索引引擎Lucene简介

全文检索|索引 内容摘要: Lucene是一个基于Java的全文索引工具包. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 全文检索的实现:Luene全文索引和数据库索引的比较 中文切分词机制简介:基于词库和自动切分词算法的比较 具体的安装和使用简介:系统结构介绍和演示 Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展 从Lucene我们还可以学到什么 基于Java的全文索引/检索引擎--Lucene Lucene不是一个完整的全

用Axis开发基于Java的Web服务

概述 本文介绍了一个比较简单实用的基于Java的SOAP引擎--Apache组织推出的 Axis--的安装.配置和应用开发方法,希望对有兴趣做基于Java的Web Services应用开发的朋友有所帮助. Axis简介 Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目 的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中 .Axis v1.1软件包可以从http://ws.apache.org/axis/dist/1_1/

Rhino -- 基于java的javascript实现

     这几天突然对js引擎非常感兴趣,大概了解了一下,记下来备忘.javascript引擎大家比较熟悉的应该是当前比较火的Chrome V8引擎.以快速闻名.v8基于c++开发.这里就不多阐述了.另外一个是 基于java的Rhino引擎,这个想来大家不是很了解.下面来简单介绍一下. http://tool.oschina.net/apidocs/apidoc?api=rhino Rhino简介 (简介这部分是抄的) Rhino 是一种使用 Java 语言编写的 JavaScript 的开源实

JAVA velocity模板引擎使用实例_JSP编程

velocity使用1.7版本. 在win7下使用intelliJ IDEA建立一基于tomcat的web app项目,命名为todo_web,设置path为/todo,导入velocity相关jar包.只导入velocity-1.7.jar这个包可能会报错,根据提示再导入velocity自带的其他包. 项目结构如下: 测试Tomcat index.jsp内容如下: 复制代码 代码如下: <%-- Created by IntelliJ IDEA. --%><%@ page conten

Sphinx全文检索引擎使用指南:简介

1.1.什么是Sphinx Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中)需要联系我们(Sphinxsearch.com)以获得商业授权. 一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速.低空间占用.高结果相关度的全文搜索功能.Sphinx可以非常容易的与SQL数据库和脚本语言集成. 当前系统内置MySQL和PostgreSQL数据库数据源的支持,也支持从标准输入读取特定格式的XML数据.通过修改源代码,用户可以自行增加新的数

基于JAVA技术的搜索引擎的研究与实现

搜索引擎 摘要 网络中的资源非常丰富,但是如何有效的搜索信息却是一件困难的事情.建立搜索引擎就是解决这个问题的最好方法.本文首先详细介绍了基于英特网的搜索引擎的系统结构,然后从网络机器人.索引引擎.Web服务器三个方面进行详细的说明.为了更加深刻的理解这种技术,本人还亲自实现了一个自己的搜索引擎--新闻搜索引擎. 新闻搜索引擎是从指定的Web页面中按照超连接进行解析.搜索,并把搜索到的每条新闻进行索引后加入数据库.然后通过Web服务器接受客户端请求后从索引数据库中搜索出所匹配的新闻. 本人在介绍

13 款开源的全文检索引擎

1.&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; Lucene Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构.另外它不支持实时搜索,但linkedin和twitter有分别对Lucene改进的实时搜素. 其中Lucene

9个基于Java的搜索引擎框架

在这个信息相当繁杂的互联网时代,我们已经学会了如何利用搜索引擎这个强大的利器来找寻目标信息,比如你会在Google上搜索情人节如何讨女朋友 欢心,你也会在百度上寻找正规的整容医疗机构(尽管有很大一部分广告骗子).那么如果在你自己开发的网站系统中需要能让用户搜索一些重要的信息,并且能以 结构化的结果展现给用户,下面分享的这9款Java搜索引擎框架或许就可以帮助到你了. 1.Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检

基于Java的PHP框架

简介 Quercus 是一个开源 PHP 5 引擎,它已经拥有了纯 Java 的完整实现.Quercus 文档指出,Quercus 在 Resin 应用服务器之上运行,利用了负载平衡.代理缓存等 Resin 特性.本文介绍了在 Apache Tomcat 之上运行 Quercus 所提供的特性.另外,本文还将展示 Quercus 针对 Web 服务和应用程序的 "PHP + Java" 混合方法的易用性和灵活性. 为何选择 Quercus? Quercus PHP 库在 Java 中得