`
java风
  • 浏览: 57570 次
  • 来自: 北京
社区版块
存档分类
最新评论
  • 泛泛evil: 总结的很好,谢谢分享
    JavaScript
  • wanxkl: 哇!总结的太好了。。凤哥哥,你好强大啊。。请问您跟凤姐什么关系 ...
    css应用

lucene3.0 例一

 
阅读更多

package com.lucene;

import java.io.File;
import java.io.IOException;


import org.apache.commons.io.FileUtils;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;
import org.junit.Test;

public class LuceneTxt{
    @Test
    public void testWriter() throws Exception{
        // 获取工程路径
        String projectPath = System.getProperty("user.dir");
        // 获取文件资源路径
        File dataDir = new File(projectPath, "txt");
        if (!dataDir.exists() || !dataDir.isDirectory()) {
            return;
        }
        // 确定数据源
        File[] dataFiles = dataDir.listFiles();
        if (dataFiles.length < 1) {
            return;
        }
        // crate indexWriter
        IndexWriter indexWriter = null;
        try {
            // get index dirPath
            File indexDir = new File(projectPath, "index");
            if (!indexDir.exists()) {
                indexDir.mkdir();
            }
//            Directory directory = new RAMDirectory();
            Directory directory = FSDirectory.open(indexDir);
            Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
            indexWriter = new IndexWriter(directory, analyzer, true,
                    IndexWriter.MaxFieldLength.LIMITED);
            //create document add to IndexWriter
            for(File dataFile:dataFiles){
                Document document = new Document();
                //create Field add to Document
                document.add(new Field("fileContent",FileUtils.readFileToString(dataFile, "gbk"),Field.Store.YES,Field.Index.ANALYZED));
               
               
                indexWriter.addDocument(document);
            }
            indexWriter.optimize();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (indexWriter!=null) {
                indexWriter.close();
            }
        }

    }
    private void testSearch() {
        // create indexSearch

    }
}

  • 大小: 142.1 KB
  • 大小: 159.6 KB
  • 大小: 33.2 KB
  • 大小: 9.3 KB
  • 大小: 29.8 KB
分享到:
评论

相关推荐

    lucene3.0 lucene3.0

    lucene3.0 lucene3.0 lucene3.0 lucene3.0 lucene3.0

    lucene 3.0 API 中文帮助文档 chm

    lucene 3.0 API中文帮助,学习的人懂得的

    Lucene3.0之查询类型详解

    在Lucene3.0中,查询处理是一个关键环节,涉及多种查询方式和理论模型。以下是对这些概念的详细解释: 1. **查询方式**: - **顺序查询**:是最简单的查询方式,直接遍历索引,效率较低。 - **索引查询**:基于预...

    Lucene3.0 使 用 教 程

    【Lucene3.0 使用教程】是针对Java开发者的一个指南,旨在教授如何利用Apache Lucene 3.0.1版本实现全文检索功能。Lucene是一个高性能、可伸缩的开源全文检索库,它提供了文本分析、索引创建、文档检索等核心功能。...

    Lucene 3.0 原理与代码分析完整版

    《Lucene 3.0 原理与代码分析完整版》是一本深入解析Lucene 3.0搜索引擎库的专业书籍。Lucene是Apache软件基金会的开源项目,它为Java开发者提供了一个高性能、全文检索的工具包,广泛应用于各种信息检索系统。这...

    lucene3.0 分词器

    lucene3.0 中文分词器, 庖丁解牛

    lucene3.0核心jar包

    这里的"lucene3.0核心jar包"是 Lucene 的一个重要版本,发布于2009年,为当时的开发人员提供了构建全文搜索引擎的基础框架。 在 Lucene 3.0 中,以下几个关键知识点值得关注: 1. **索引结构**:Lucene 使用倒排...

    Lucene3.0全文信息检索

    **一、Lucene 3.0 的核心概念** 1. **索引**:Lucene首先将文档内容转换成倒排索引(Inverted Index),这是一个数据结构,用于快速定位包含特定单词的文档。通过索引,Lucene能够高效地执行全文搜索。 2. **分词*...

    lucene3.0资料包

    这里我们主要聚焦于`lucene3.0`版本,该版本在当时是Lucene的一个重要里程碑,引入了许多改进和新特性。 1. **索引构建**: 在Lucene3.0中,索引是数据检索的基础。它通过将文本数据转换为倒排索引来实现快速查询...

    lucene3.0 实例

    在这个实例中,我们将探讨如何在 JDK 1.5 和 Lucene 3.0 的环境下构建和运行一个简单的搜索引擎。 首先,Lucene 的核心概念包括文档(Document)、字段(Field)、索引(Index)和搜索(Search)。文档是存储信息的...

    lucene3.0使用介绍及实例

    在这个例子中,我们创建了一个索引,包含一个文档,然后搜索包含"Lucene 3.0"的文档。这个简单的示例展示了Lucene的基本用法,实际应用中可以根据需要扩展,例如添加更多的文档字段、实现更复杂的查询逻辑,或者使用...

    lucene3.0庖丁+索引搜索程序

    1. 文档索引:Lucene通过分词器(Tokenizer)将输入的文本分解成一系列的词语(Term),并为每个词语创建一个文档频率(Document Frequency, DF)。同时,使用Term频率-逆文档频率(Term Frequency-Inverse Document...

    lucene3.0-highlighter.jar

    lucene3.0-highlighter.jar lucene3.0的高亮jar包,从lucene3.0源码中导出来的

    lucene3.0全文检索入门实例

    本文将重点介绍如何使用 Lucene 3.0 实现全文检索的基本步骤,以及与前一版本 Lucene 2.0 的主要区别。 **1. 安装与环境配置** 首先,你需要下载 Lucene 3.0 的发行版,并将其添加到你的项目类路径中。确保你的开发...

    与lucene3.0兼容的庖丁jar包

    lucene升级了,分词也得升级哦! 在使用lucene3与paoding集成的时候可能会出现以下错误: Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z ...

    Lucene3.0分词系统.doc

    Lucene3.0分词系统的核心在于理解和应用其分词原理,无论是对于英文还是中文文本,这一过程都是构建高效搜索引擎的基础。以下是对Lucene3.0分词系统中涉及的关键知识点的深入解析。 ### 英文分词原理 英文分词相较...

    lucene 3.0 入门实例

    **Lucene 3.0 入门实例** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了完整的搜索功能,包括索引、查询解析、排序以及高级的文本分析能力。在 Lucene 3.0 版本中,开发者可以利用其强大...

    lucene 2.0 api以及lucene 3.0 api

    1. **SegmentMerger 改进**: Lucene 3.0 中,`MergePolicy` 和 `MergeScheduler` 分离,提供更灵活的索引合并策略。 2. **N-gram 查询支持**: 新增了对 N-gram 查询的支持,增强了短语查询和部分匹配的能力。 3. *...

Global site tag (gtag.js) - Google Analytics