`
alexwei
  • 浏览: 40195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

集成lucene (一)

阅读更多

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

三、索引和分析

四、查询

?五、应用和案例分析
分享到:
评论

相关推荐

    springmvc集成lucene全文搜索

    本篇文章将深入探讨如何在Spring MVC项目中集成Lucene进行全文搜索,以提升用户体验。 首先,我们需要理解Spring MVC和Lucene的基本概念。Spring MVC是一种基于模型-视图-控制器(MVC)架构模式的轻量级Web框架,它...

    ssh集成Lucene4.7demo

    总的来说,这个“ssh集成Lucene4.7demo”项目提供了一个完整的示例,展示了如何在SSH框架下整合Lucene进行全文搜索,以及如何利用IKAnalyzer处理中文分词,同时实现搜索结果的高亮显示。对于初学者或希望深入理解...

    IK分词器集成lucene4.5使用方法

    IK分词器是一款广泛应用于Java开发中的中文分词工具,主要为Lucene、Elasticsearch等全文搜索引擎提供支持。在本教程中,我们将探讨如何将IK分词器集成到Lucene 4.5版本中,以提升中文文本处理的效率和准确性。 ...

    SpringBoot+Lucene搜索结果高亮显示Demo

    在这个SpringBoot+Lucene的Demo中,我们将深入探讨如何在Spring Boot框架下集成Lucene,并实现搜索结果的高亮显示。 首先,让我们了解Spring Boot。Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化...

    SSI集成lucene4.5使用案例

    在集成Lucene到SSI的过程中,我们需要考虑以下关键步骤: 1. **设置环境**:确保你的开发环境中安装了Java运行时环境(JRE),因为Lucene是用Java编写的。同时,安装并配置好SSI支持的Web服务器,如Apache ...

    ssm+lucene

    Lucene是Apache软件基金会的一个开源全文检索库,提供高性能、可扩展的文本搜索功能。它包括索引和搜索的底层实现,如分词、文档存储、倒排索引等。开发者可以通过Lucene快速构建自己的搜索引擎。 **5. SSM与Lucene...

    36.ASP.NET Ajax集成Lucene搜索引擎开发设计与实现(源代码+LW).zip

    这个资源是一个关于“ASP.NET Ajax集成Lucene搜索引擎开发设计与实现”的项目包,该项目的设计实现包含以下几个方面: Lucene搜索引擎集成:利用Lucene的强大搜索能力,对网站或应用内的数据进行索引和搜索,支持...

    Java搜索工具——Lucene实例总结(一)

    作为一个纯Java库,Lucene可以轻松地集成到Java应用中,提供索引和搜索功能。 2. **索引过程** - **文档分析**:Lucene首先对输入的文本进行分析,将其拆分成一个个被称为“术语”(Term)的单元。 - **词典创建*...

    lucene基本使用

    Lucene,作为Apache软件基金会的一个开源全文检索库,是Java开发者最常使用的全文搜索引擎工具。它提供了高级的文本检索功能,使得开发者能够快速地在大量数据中构建高效的搜索功能。本文将深入浅出地介绍Lucene的...

    Lucene全文检索引擎

    Lucene是Apache软件基金会的一个开源项目,它是一个高性能、全文本搜索引擎库,可以被集成到各种应用中实现全文检索功能。Lucene提供了完整的搜索功能实现,包括索引创建、文档存储、查询解析和结果排序等。它的设计...

    lucene学习lucene学习

    Lucene 提供了高效、可扩展的索引和搜索功能,允许开发者轻松地在应用程序中集成高级文本检索功能。 在了解 Lucene 的工作原理之前,我们要明确一点:Lucene 不是一个完整的搜索引擎应用,而是用于构建搜索引擎的...

    lucene的一个实用例子

    它提供了一个可扩展的、高性能的搜索框架,使得开发者能够轻易地在应用中集成全文检索功能。本实例将通过一个具体的应用场景,帮助大家了解 Lucene 的基本用法和核心概念。 首先,我们需要理解 Lucene 的基本架构。...

    Java搜索引擎 Lucene

    你可以通过研究这个版本的源代码来深入理解Lucene的工作原理,或者直接使用这些库文件在你的项目中集成Lucene 3.6.1版本的搜索功能。记得在使用时,确保与你的Java运行环境兼容,并考虑升级到最新版本以获得最新的...

    Lucene简介.介绍

    它不是一个完整的全文搜索引擎应用,而是一个工具包,允许开发者将其集成到自己的软件中,以实现高效、灵活的文本搜索功能。Lucene 提供了丰富的 API,使得开发者可以轻松地构建、索引和查询文本数据。 **作者与...

    Lucene.Net-search

    这个压缩包中的 "Lucene.Net-search-MVC-sample-site-master" 是一个 MVC 示例项目,它演示了如何在 MVC 应用中集成 Lucene.Net 实现全文搜索。项目可能包含了以下关键部分: 1. **模型(Model)**:定义要搜索的...

    第一个lucene的简单实例....

    这可能包括如何集成Lucene到项目中,以及通过编写代码来创建、索引和查询文档。 从压缩包文件 "lucenetest" 来看,我们可以预期里面包含了实现这个简单实例的源代码。这些文件可能包含以下几个部分: 1. **索引...

    详解SpringBoot+Lucene案例介绍

    SpringBoot与Lucene集成案例详解 本文将详细介绍如何将SpringBoot与Lucene集成,以实现站内搜索系统。 Lucene是一个高性能的全文检索引擎,它可以帮助我们快速地检索大量的文本数据。 一、案例介绍 在本案例中,...

    lucene.NET 中文分词

    Lucene.NET 是一个高性能、全文检索库,它是Apache Lucene项目在.NET平台上的实现。作为一个开源的搜索引擎框架,Lucene.NET为开发者提供了强大的文本搜索功能。而在处理中文文档时,由于中文词汇间的无明显空格分隔...

    lucene-2.4.0 jar包

    - **API 更新**:引入了一些新的 API 和接口,使得开发者更容易地集成 Lucene 到他们的项目中。 **3. 倒排索引** Lucene 的核心机制之一是倒排索引。在倒排索引中,每个独特的词项(词或短语)都会指向包含这个词项...

Global site tag (gtag.js) - Google Analytics