Lucene搜索引擎开发高级部分(索引的管理)
1,查看索引的信息
通过IndexWriter类读取索引的相关信息,将其显示出来。
通过IndexReader及其子类读取索引的相关信息,将其显示出来。
通过可视化工具(Luke,Limo)查看索引的相关信息。
2,删除索引中的文档
删除指定序号的文档:
使用IndexReader类的deleteDocument(int id)可以从索引中删除指定序号的文档。但是,被删除的文档并没有 真正的从索引中删除,只是做了删除标记,不参加检索!
恢复已删除的文档:
使用deleteDocument方法并没有真正的删除指定的文档,所以可以恢复,调用undeleteAll()方法。
物理文档的删除:
第一步:使用IndexReader的deleteDocument方法标记删除
第二步:使用IndexWriter的optimize方法
3,更新索引中的文档
更新无非就是先删除再增加
索引的更新也是,先删除原来的指定索引,然后在增加。
要注意的是:当你删除一个文档索引时,他后面索引的序号会减1,再增加进来的索引文档序号为最后一个。
批量更新:
IndexWriter类的方法:void updateDocument(Term term,Document doc,Analyzer analyzer)
void updateDocument(Term term,Document doc)
首先批量删除对应的Term,然奇批量增加对应的Document
4,索引的同步
这就涉及到并发访问了。Lucene保持索引操作线程安全性的原则是IndexReader,IndexWriter,IndexModifier三个类不能同时对同一个索引进行操作。也就是一类操作完成,马上调用close(),然后再调用下一个类。
索引锁机制:
提供两种锁:
1,write.lock 文件阻止进程同时修改一个索引。
2,commit.lock 读取和合并索引块的时候,会用到这个锁,他是一个事务锁。
这两中锁都是Lucene自动创建的。
5,使用可视化工具管理索引
Luke 主要是使用(他是一个jar文件[lukeall-3.5.0.jar],双击打开或者用命令行打开)
Limo 主要是使用(他是一个war文件[limo-0.61.war],需要放到jsp的服务器下运行)
分享到:
相关推荐
《Lucene搜索引擎开发权威经典》是由于天恩编著的一本深入探讨Lucene搜索引擎开发的专业书籍,这本书结合源码分析,旨在帮助读者掌握Lucene的核心技术和应用实践。Lucene是Apache软件基金会的一个开放源代码项目,它...
Lucene搜索引擎开发权威经典 光盘 于天恩 著 中国铁道出版社出版 2008-10 这本书基于Lucene的当前最新版本(2.1)精解了Lucene搜索引擎的相关知识,从基础知识到应用开发,精练简洁,恰到好处。 本书共包括16章,...
《Lucene搜索引擎开发权威经典》是一本由作者于天恩撰写的关于Lucene搜索引擎开发的书籍。这本书以幽默轻松的写作风格,深入浅出地介绍了Lucene的基础知识和实践应用,虽然在深度上可能稍显不足,但其详尽的代码注释...
《Lucene搜索引擎开发权威经典》是由著名IT教育专家于天恩老师编著的一本深入解析Lucene搜索引擎开发的专业书籍。这本书结合源代码分析,详细介绍了如何利用Lucene进行信息检索和全文搜索的实现。Lucene是Apache软件...
这本书主要聚焦于LUCENE和JAVA这两种技术在搜索引擎开发中的应用,为读者揭示了搜索引擎背后的复杂机制和实现细节。 LUCENE是一个开源的全文检索库,由Apache软件基金会维护。它是Java编写,提供了高效的文本搜索...
《Lucene+Nutch搜索引擎开发:王学松源代码解析》 在信息技术日新月异的今天,搜索引擎已经成为了人们获取信息的重要工具。Lucene和Nutch是两个在开源社区广泛使用的搜索引擎技术,它们为开发者提供了构建高效、可...
《Lucene搜索引擎开发进阶实战》是一本针对Java开发者深入学习Lucene搜索引擎的高级教程,旨在帮助读者掌握如何利用Lucene构建高效、精准的全文检索系统。Lucene是Apache软件基金会的一个开源项目,它提供了高性能、...
总结来说,“lucene搜索引擎demo”提供了一个完整的示例,涵盖了从数据抓取、分词处理到建立和使用Lucene索引的全过程。通过对这个demo的学习,开发者可以快速理解并掌握Lucene搜索引擎的使用,进一步应用于实际项目...
这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为两部分提供。 Lucene是Apache软件基金会的一个开放源代码项目,它是一个高性能、全文本搜索库。Lucene提供了完整的搜索功能,包括...
《lucene搜索引擎开发权威经典》一书的光盘源代码包含了大量的示例和实践项目,是深入了解和学习Apache Lucene搜索引擎技术的重要资源。Lucene是一个高性能、全文本搜索库,由Java编写,广泛应用于各种搜索应用中。...
在"Lucene搜索引擎1"这个主题中,我们将深入探讨Lucene的基本概念、核心组件以及如何使用它来构建一个简单的搜索引擎。 首先,Lucene的核心功能是索引和搜索。它能够将非结构化的文本数据(如网页、文档等)转化...
Solr、Elasticsearch和Lucene是三个在搜索引擎领域中至关重要的技术,它们共同构建了现代数据检索的...通过学习“Solr Elasticsearch lucene 搜索引擎教程”,你可以深入掌握这些技术,提升自己的搜索引擎开发能力。
通过研究这个 C#.NET 版本的 Lucene 搜索引擎源码,开发者可以学习如何在 .NET 应用中集成全文搜索功能,了解 Lucene API 的用法,以及如何根据具体需求定制搜索引擎。这不仅对提升搜索体验有帮助,也有助于深入理解...
### 开发自己的搜索引擎:Lucene 2.0 + Heritrix #### 一、概述 在构建搜索引擎的过程中,Lucene 和 Heritrix 是两个至关重要的工具。本文将深入探讨这两个工具的功能及其如何协同工作,帮助读者理解如何使用它们...
**Lucene 搜索引擎开发包详解** Lucene 是一个开源的全文检索库,由 Apache 软件基金会维护。它提供了高性能、可扩展的搜索功能,广泛应用于网站、应用程序及大数据分析等领域。作为 Java 语言编写的核心库,Lucene...
本资料主要探讨如何利用开源项目Lucene和Nutch构建一个完整的搜索引擎系统,这是一份关于“lucene+nutch搜索引擎开发源码”的第二部分。 Lucene是Apache软件基金会的一个高性能、全文本搜索库,它提供了基础的索引...
Lucene 是一个高性能、全文检索库,它提供了文本分析、索引和搜索功能,被广泛应用于各种搜索引擎的构建。在这个“Lucene 高级搜索项目”中,我们将深入探讨如何利用Lucene实现附件搜索、附件内容搜索以及全文搜索等...