Lucene是一个全文搜索的工具包。网站http://lucene.apache.org/
简介
初接触Lucene的人,可能会认为这是一个完整的应用,拿来就可以搜索文件、数据库记录等。其实Lucene只是一个工具包,包含了对数据做索引和查询的API,你可以把它嵌入到你的系统中,按照自己的业务逻辑构建搜索功能。见下图:
安装和demo
下载Lucene java http://lucene.apache.org/java/docs/index.html, 当前版本2.4.1
下载回来文件夹中包含了jar包,demo程序,文档,和一个包含各种扩展的contrib目录。
应用系统集成需要做的仅仅是引入一个jar文件,放到应用的lib目录即可。
让我们来看看demo吧:
demo实现的是对指定的一个文件夹下的所有文件做索引。提供了两种执行方式:ant执行做索引和查询,及一个web应用。
demo里的代码对主要的api都使用到了:
· org.apache.lucene.document
· org.apache.lucene.analysis
· org.apache.lucene.index
· org.apache.lucene.search
看看执行索引和查询的关键部分源码:
查询:
这里只是把查询结果的文件名显示出来
其他
中文检索
默认的分析器,以及扩展包里包含的ChineseAnalyzer,都不能对中文很好的分词,只能按单个字生成索引。在网上搜了一下,还没找到公认最好的分析器。不过据chinakite说,可以自己实现一个。
增量索引
在原始数据中每增加一点内容,都需要重新做索引。Lucene的index接口提供了增量的参数,构造函数里
public IndexWriter(File path, Analyzer a, boolean create, MaxFieldLength mfl)
create参数表示是否重新创建索引
工具
找了一个查看索引的工具:luke
下面是计划
二、架构和API
三、索引和分析
四、查询
?五、应用和案例分析
分享到:
相关推荐
本篇文章将深入探讨如何在Spring MVC项目中集成Lucene进行全文搜索,以提升用户体验。 首先,我们需要理解Spring MVC和Lucene的基本概念。Spring MVC是一种基于模型-视图-控制器(MVC)架构模式的轻量级Web框架,它...
总的来说,这个“ssh集成Lucene4.7demo”项目提供了一个完整的示例,展示了如何在SSH框架下整合Lucene进行全文搜索,以及如何利用IKAnalyzer处理中文分词,同时实现搜索结果的高亮显示。对于初学者或希望深入理解...
IK分词器是一款广泛应用于Java开发中的中文分词工具,主要为Lucene、Elasticsearch等全文搜索引擎提供支持。在本教程中,我们将探讨如何将IK分词器集成到Lucene 4.5版本中,以提升中文文本处理的效率和准确性。 ...
在这个SpringBoot+Lucene的Demo中,我们将深入探讨如何在Spring Boot框架下集成Lucene,并实现搜索结果的高亮显示。 首先,让我们了解Spring Boot。Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化...
在集成Lucene到SSI的过程中,我们需要考虑以下关键步骤: 1. **设置环境**:确保你的开发环境中安装了Java运行时环境(JRE),因为Lucene是用Java编写的。同时,安装并配置好SSI支持的Web服务器,如Apache ...
Lucene是Apache软件基金会的一个开源全文检索库,提供高性能、可扩展的文本搜索功能。它包括索引和搜索的底层实现,如分词、文档存储、倒排索引等。开发者可以通过Lucene快速构建自己的搜索引擎。 **5. SSM与Lucene...
这个资源是一个关于“ASP.NET Ajax集成Lucene搜索引擎开发设计与实现”的项目包,该项目的设计实现包含以下几个方面: Lucene搜索引擎集成:利用Lucene的强大搜索能力,对网站或应用内的数据进行索引和搜索,支持...
作为一个纯Java库,Lucene可以轻松地集成到Java应用中,提供索引和搜索功能。 2. **索引过程** - **文档分析**:Lucene首先对输入的文本进行分析,将其拆分成一个个被称为“术语”(Term)的单元。 - **词典创建*...
Lucene,作为Apache软件基金会的一个开源全文检索库,是Java开发者最常使用的全文搜索引擎工具。它提供了高级的文本检索功能,使得开发者能够快速地在大量数据中构建高效的搜索功能。本文将深入浅出地介绍Lucene的...
Lucene是Apache软件基金会的一个开源项目,它是一个高性能、全文本搜索引擎库,可以被集成到各种应用中实现全文检索功能。Lucene提供了完整的搜索功能实现,包括索引创建、文档存储、查询解析和结果排序等。它的设计...
它提供了一个可扩展的、高性能的搜索框架,使得开发者能够轻易地在应用中集成全文检索功能。本实例将通过一个具体的应用场景,帮助大家了解 Lucene 的基本用法和核心概念。 首先,我们需要理解 Lucene 的基本架构。...
你可以通过研究这个版本的源代码来深入理解Lucene的工作原理,或者直接使用这些库文件在你的项目中集成Lucene 3.6.1版本的搜索功能。记得在使用时,确保与你的Java运行环境兼容,并考虑升级到最新版本以获得最新的...
它不是一个完整的全文搜索引擎应用,而是一个工具包,允许开发者将其集成到自己的软件中,以实现高效、灵活的文本搜索功能。Lucene 提供了丰富的 API,使得开发者可以轻松地构建、索引和查询文本数据。 **作者与...
这个压缩包中的 "Lucene.Net-search-MVC-sample-site-master" 是一个 MVC 示例项目,它演示了如何在 MVC 应用中集成 Lucene.Net 实现全文搜索。项目可能包含了以下关键部分: 1. **模型(Model)**:定义要搜索的...
这可能包括如何集成Lucene到项目中,以及通过编写代码来创建、索引和查询文档。 从压缩包文件 "lucenetest" 来看,我们可以预期里面包含了实现这个简单实例的源代码。这些文件可能包含以下几个部分: 1. **索引...
SpringBoot与Lucene集成案例详解 本文将详细介绍如何将SpringBoot与Lucene集成,以实现站内搜索系统。 Lucene是一个高性能的全文检索引擎,它可以帮助我们快速地检索大量的文本数据。 一、案例介绍 在本案例中,...
Lucene.NET 是一个高性能、全文检索库,它是Apache Lucene项目在.NET平台上的实现。作为一个开源的搜索引擎框架,Lucene.NET为开发者提供了强大的文本搜索功能。而在处理中文文档时,由于中文词汇间的无明显空格分隔...
- **API 更新**:引入了一些新的 API 和接口,使得开发者更容易地集成 Lucene 到他们的项目中。 **3. 倒排索引** Lucene 的核心机制之一是倒排索引。在倒排索引中,每个独特的词项(词或短语)都会指向包含这个词项...
Lucene支持索引和搜索文本,可以集成到各种Java应用程序中,帮助开发者轻松实现全文检索功能。其核心特性包括文档分析、索引构建、查询解析、结果排序等。 二、Lucene 4.9.0的jar包构成 Lucene的jar包主要分为以下...