lucene提供了两种删除索引的方式,一种是通过documentId删除某document文档,第二种是根据Term删除文档document.
对于第一种方式,在实际开发中使用很少,因为对于已经创建好的索引来说,我们很难确定某文档document的文档编号documentId是什么。
对于第二种方式,具体实例列举如下。
//按term删除文档
public class MyDeleteIndexes {
public static final String STORE_PATH = "E:/lucene_index";
public static void deleteIndexes(String field , String keyword) throws IOException{
long startTime = System.currentTimeMillis();
Directory dir = FSDirectory.open(new File(STORE_PATH));
IndexReader reader = IndexReader.open(dir,false);
Term term = new Term(field,keyword);
reader.deleteDocuments(term);
//可以按documentId删除文档
//reader.deleteDocument(1);
reader.flush();
reader.close();
//System.out.println(reader.lastModified(dir));
long endTime = System.currentTimeMillis();
System.out.println("total time: " + (endTime - startTime) + " ms");
}
}
分享到:
相关推荐
《Lucene3.5实例详解:构建全文搜索引擎》 Apache Lucene是一个开源的全文检索库,为Java开发者提供了强大的文本搜索功能。在本实例中,我们将深入探讨如何使用Lucene 3.5版本来构建一个基本的全文搜索引擎,主要...
本篇文章将围绕“lucene3.5全文检索案例lucene+demo”,详细讲解Lucene 3.5的核心概念、关键功能以及如何通过实例进行操作。 一、Lucene 3.5核心概念 1. 文档(Document):Lucene中的最小处理单元,相当于数据库...
这段代码中,Analyzer实例化了IKAnalyzer,保证了中文文本在被添加到索引时能够正确分词。 3. 搜索:在查询阶段,同样需要使用Analyzer处理用户输入的查询字符串,使其与索引中的分词结果进行匹配。例如: ```...
在“关于lucene3.5的使用”这个主题中,我们将深入探讨Lucene 3.5的关键特性、核心组件以及如何通过实例进行应用。首先,我们需要了解以下几个核心概念: 1. **索引(Index)**:Lucene 的工作基于索引,就像书籍的...
总之,"Lucene测试程序3.5"为我们提供了一个深入理解Lucene如何处理全文搜索问题的实例。通过创建索引、使用标准分词器进行文本分析以及执行检索操作,我们可以看到Lucene如何在幕后高效地工作,使应用程序具备强大...
在实际项目中,你可能会遇到多线程索引、更新索引、删除索引等问题,Lucene 3.5对此都有很好的支持。同时,为了优化性能,可以考虑使用缓存、倒排索引压缩等技术。 总结,Lucene 3.5结合IKAnalyzer 3.5为开发者提供...
总结来说,"lucene3.5 + ik中文分词器例子"是一个展示如何使用Lucene进行中文全文检索的示例,它涵盖了从数据抓取、分词处理、索引建立到查询执行的全过程。通过这个实例,开发者可以更好地理解和掌握Lucene与IK分词...
- 但是,这种做法并不被推荐,因为在Lucene 3.5之后,官方建议让Lucene自动管理索引的合并,以减少不必要的性能损耗。 #### 九、复合式索引与非复合式索引的区别 11. **复合式索引与非复合式索引**: - 复合式...
封装索引管理主要是为了简化创建、更新和删除索引的操作。可以创建一个索引管理类,提供添加文档、更新文档、删除文档的接口,同时处理并发控制和异常处理,确保数据的一致性和完整性。 #### 2.2 查询构建器 封装...
- 在Lucene中,添加索引的过程不是一次性将所有Document添加到同一个索引文件中,而是先将它们写入到多个较小的文件(称为Segment),之后再将这些Segment合并成较大的索引文件。 #### 4. 如何建立索引 - **4.1 ...
Solr 是一个基于 Lucene 的全文搜索引擎服务器,它提供了高级的搜索功能,广泛应用于网站的全文检索、数据索引和搜索。在企业级应用中,Solr 往往需要与 Web 服务器集成,以实现更高效的服务。在这个场景下,Tomcat ...
- **3.5.1 基本索引操作**:包括添加、删除文档等基本操作。 - **3.5.2 批量索引操作**:通过批量加载的方式加快索引构建的速度。 **3.6 如何进行搜索** - **3.6.1 搜索语法**:支持标准的查询语法,如布尔运算符...
- 下面的代码示例展示了如何使用Lucene创建一个简单的索引: ```java IndexWriter writer = new IndexWriter("/data/index/", new StandardAnalyzer(), true); Document doc = new Document(); doc.add(new ...
### JAVA Lucene全文检索工具包的理解与使用 #### 1. Lucene简介 - **1.1 什么是Lucene** Lucene是一个开源的高性能全文搜索引擎库,它并不是一个现成的应用程序,而是一个用于构建搜索应用程序的基础工具。简单...
- **Lucene索引写入器**:配置索引写入器以提高写入性能。 - **其他调优选项**:如缓存配置、查询优化等。 #### 九、管理和监控 1. **部署方式** - **Apache Tomcat**:Solr可以在Tomcat中作为Servlet容器运行...
Lucene.Net 2.9.1是该库的一个稳定版本,带来了对.NET Framework的良好支持,包括.NET 2.0、3.0、3.5以及4.0。这个版本包含了之前在某些下载源中可能缺失的高亮包,使得用户可以在搜索结果中实现关键词高亮,从而...
Lucene.Net 支持对现有索引进行更新和删除操作。更新文档时,需要创建新的 `Document` 对象,然后使用 `IndexWriter.UpdateDocument()` 方法替换旧的。删除文档则通过 `IndexWriter.DeleteDocuments()`,传入匹配...
3.5 如何进行索引操作? 3.5.1 基本索引操作 3.5.2 批量索引操作 3.6 如何进行搜索 3.6.1 搜索语法 3.6.2 排序 3.6.3 字段增加权重 3.6.4 Solr分词器、过滤器、分析器 3.6.5 Solr高亮使用 **四、SolrJ的用法** ...