`
zjnbshifox
  • 浏览: 316136 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

lucene学习

    博客分类:
  • Java
阅读更多

刚刚开始学习java,发现有一句话说得很好啊,java是一种由生产力的语言,呵呵,最近看了车东的lucene的文章,很受启发,不过在删除的时候碰到了问题,从数据库里取出数据,而数据是有主键的,希望在删除一条数据的时候,把相应的索引也更新了,在网上差了很多资料都没有方法,好像是太简单了,大家都不屑一提啊,却让我忙了半天,谁让我E文不好,而且是个新手,所以只好作为日记写下来:(

建立索引的时候用Field.Keyword来建立索引

while(rs.next()){
    Document doc = new Document();    
    doc.add(Field.Keyword("id",String.valueOf(rs.getInt(1))));
    System.out.println(rs.getInt(1));
    String body = rs.getString(3) + "+" + rs.getString(3);
    System.out.print(body);
    doc.add(Field.Text("name",rs.getString(2)));
    doc.add(Field.Text("remark",rs.getString(3)));
    //将文档写入索引     
    writer.addDocument(doc);
   }

那么在删除的时候,只要知道ID的值就可以删除:

Directory directory = FSDirectory.getDirectory("e:\\test", false);
         IndexReader reader = IndexReader.open(directory);
         //IndexReader.unlock(directory);
         Term term = new Term("id", "21");
        
         //Term term = new Term("name", tmp);
         int deleted = reader.delete(term);

         System.out.println("deleted " + deleted + " documents containing " + term);
         reader.close();
         directory.close();

另外,还有一个问题,我在windows平台下使用的时候,在建立索引的时候

IndexWriter writer;   
  //用指定的语言分析器构造一个新的写索引器(第3个参数表示是否为追加索引)   
  writer = new IndexWriter(indexPath, new StandardAnalyzer(), true);

这里的最后一个参数,照文档中记述的是,是否新建索引,true的时候是追加,但是如果我设置的false的时候,就出现Lock@XXXXXX  临时文件错误,不知道为什么?

不过,总的来说,这个lucene真是一个好东西,要学的东西还有很多啊

分享到:
评论

相关推荐

    lucene学习资料收集

    【标题】:“Lucene学习资料收集” 【描述】:Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发。这个资料集可能包含了关于如何理解和使用Lucene的各种资源,特别是通过博主huanglz19871030在iteye上的...

    lucene学习资料

    《Lucene学习资料》 Lucene是一个开源的全文搜索引擎库,由Apache软件基金会维护。它提供了高级的文本分析和索引功能,使得开发者能够轻松地在应用程序中集成强大的搜索功能。这个资料包中的《Lucene in Action_2nd...

    Lucene学习源码.rar

    本文将主要围绕Java Lucene进行深入探讨,并基于提供的“Lucene学习源码.rar”文件中的“Lucene视频教程_讲解部分源码”展开讨论。 一、Lucene核心概念 1. 文档(Document):Lucene中的基本单位,用于存储待检索...

    lucene学习pdf2

    "lucene学习pdf2" 提供的文档,无疑是对Lucene深入理解的一把钥匙,它涵盖了Lucene的核心概念、操作流程以及高级特性。 首先,Lucene的基础知识是必不可少的。Lucene的核心在于索引和搜索,它将非结构化的文本数据...

    lucene学习-02

    【标题】:“Lucene学习-02” 在深入探讨“Lucene学习-02”这一主题之前,我们先来理解一下Lucene的核心概念。Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,广泛应用于各种搜索引擎和信息检索系统。...

    Lucene的的学习资料及案例

    **Lucene学习指南** Lucene是一个高性能、全文检索库,由Apache软件基金会开发并维护,是Java编程语言中广泛使用的搜索引擎库。它提供了一个简单的API,使得开发者能够方便地在应用中实现全文检索功能。本篇文章将...

    【大搜集:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    lucene学习笔记 1 .txt lucene学习笔记 2.txt lucene学习笔记 3 .txt lucene入门实战.txt Lucene 的学习 .txt Lucene-2.0学习文档 .txt Lucene入门与使用 .txt lucene性能.txt 大富翁全文索引和查询的例子...

    Lucene学习工具包.zip

    **Lucene学习工具包** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。这个"Lucene学习工具包.zip"包含了学习Lucene所需的重要资料和资源,旨在帮助开发者深入理解和掌握Lucene的核心概念、功能...

    Lucene学习例子与文档

    **Lucene学习例子与文档详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,它提供了完整的搜索功能,包括索引、查询、排序等。Lucene被广泛应用于各种需要全文检索的项目中,如网站、文档管理、...

    lucene学习入门程序

    **Lucene学习入门程序** Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。它是Java编写,可以被集成到各种应用中,提供强大的文本检索功能。本程序是针对初学者设计的,旨在帮助开发者快速理解并...

    lucene学习全方面剖析总结

    ### Lucene 学习全方面剖析总结 #### Lucene 原理与应用概述 Lucene 是一个高性能、全文检索的开源库,被广泛应用于各种搜索引擎的开发之中。本篇文章旨在全面剖析 Lucene 的核心技术和应用场景,帮助读者深入理解...

    Lucene 学习笔记 1

    **Lucene 学习笔记 1** Lucene 是一个全文搜索引擎库,由 Apache 软件基金会开发。它提供了一个可扩展的、高性能的搜索框架,使得开发者能够在其应用程序中集成高级的搜索功能。本篇学习笔记将深入探讨 Lucene 的...

    lucene学习笔记

    标题:Lucene学习笔记 描述:Lucene学习笔记,Lucene入门必备材料 知识点: 一、Lucene概述与文档管理策略 Lucene是一款高性能、全功能的文本搜索引擎库,广泛应用于文档检索、全文搜索等场景。为了提升搜索效率...

Global site tag (gtag.js) - Google Analytics