`
sunasheng
  • 浏览: 122742 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Lucene搜索引擎开发高级部分2(索引的管理)

阅读更多

 

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搜索引擎开发权威经典(附盘源码)【于天恩】.zip

    《Lucene搜索引擎开发权威经典》是由于天恩编著的一本深入探讨Lucene搜索引擎开发的专业书籍,这本书结合源码分析,旨在帮助读者掌握Lucene的核心技术和应用实践。Lucene是Apache软件基金会的一个开放源代码项目,它...

    Lucene搜索引擎开发权威经典 光盘

    Lucene搜索引擎开发权威经典 光盘 于天恩 著 中国铁道出版社出版 2008-10 这本书基于Lucene的当前最新版本(2.1)精解了Lucene搜索引擎的相关知识,从基础知识到应用开发,精练简洁,恰到好处。 本书共包括16章,...

    Lucene搜索引擎开发权威经典

    《Lucene搜索引擎开发权威经典》是一本由作者于天恩撰写的关于Lucene搜索引擎开发的书籍。这本书以幽默轻松的写作风格,深入浅出地介绍了Lucene的基础知识和实践应用,虽然在深度上可能稍显不足,但其详尽的代码注释...

    Lucene搜索引擎开发权威经典源代码

    《Lucene搜索引擎开发权威经典》是由著名IT教育专家于天恩老师编著的一本深入解析Lucene搜索引擎开发的专业书籍。这本书结合源代码分析,详细介绍了如何利用Lucene进行信息检索和全文搜索的实现。Lucene是Apache软件...

    解密搜索引擎技术实战 LUCENE & JAVA(第3版)PDF

    这本书主要聚焦于LUCENE和JAVA这两种技术在搜索引擎开发中的应用,为读者揭示了搜索引擎背后的复杂机制和实现细节。 LUCENE是一个开源的全文检索库,由Apache软件基金会维护。它是Java编写,提供了高效的文本搜索...

    Lucene+Nutch搜索引擎开发.王学松源代码

    《Lucene+Nutch搜索引擎开发:王学松源代码解析》 在信息技术日新月异的今天,搜索引擎已经成为了人们获取信息的重要工具。Lucene和Nutch是两个在开源社区广泛使用的搜索引擎技术,它们为开发者提供了构建高效、可...

    Lucene搜索引擎开发进阶实战----高清版

    《Lucene搜索引擎开发进阶实战》是一本针对Java开发者深入学习Lucene搜索引擎的高级教程,旨在帮助读者掌握如何利用Lucene构建高效、精准的全文检索系统。Lucene是Apache软件基金会的一个开源项目,它提供了高性能、...

    lucene搜索引擎demo

    总结来说,“lucene搜索引擎demo”提供了一个完整的示例,涵盖了从数据抓取、分词处理到建立和使用Lucene索引的全过程。通过对这个demo的学习,开发者可以快速理解并掌握Lucene搜索引擎的使用,进一步应用于实际项目...

    lucene+nutch搜索引擎开发源码1

    这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为两部分提供。 Lucene是Apache软件基金会的一个开放源代码项目,它是一个高性能、全文本搜索库。Lucene提供了完整的搜索功能,包括...

    《lucene搜索引擎开发权威经典》一书的光盘源代码

    《lucene搜索引擎开发权威经典》一书的光盘源代码包含了大量的示例和实践项目,是深入了解和学习Apache Lucene搜索引擎技术的重要资源。Lucene是一个高性能、全文本搜索库,由Java编写,广泛应用于各种搜索应用中。...

    Lucene搜索引擎1

    在"Lucene搜索引擎1"这个主题中,我们将深入探讨Lucene的基本概念、核心组件以及如何使用它来构建一个简单的搜索引擎。 首先,Lucene的核心功能是索引和搜索。它能够将非结构化的文本数据(如网页、文档等)转化...

    Solr Elasticsearch lucene 搜索引擎

    Solr、Elasticsearch和Lucene是三个在搜索引擎领域中至关重要的技术,它们共同构建了现代数据检索的...通过学习“Solr Elasticsearch lucene 搜索引擎教程”,你可以深入掌握这些技术,提升自己的搜索引擎开发能力。

    lucene+api搜索引擎引工具源码

    通过研究这个 C#.NET 版本的 Lucene 搜索引擎源码,开发者可以学习如何在 .NET 应用中集成全文搜索功能,了解 Lucene API 的用法,以及如何根据具体需求定制搜索引擎。这不仅对提升搜索体验有帮助,也有助于深入理解...

    开发自己的搜索引擎Lucene2.0+Heritrix

    ### 开发自己的搜索引擎:Lucene 2.0 + Heritrix #### 一、概述 在构建搜索引擎的过程中,Lucene 和 Heritrix 是两个至关重要的工具。本文将深入探讨这两个工具的功能及其如何协同工作,帮助读者理解如何使用它们...

    Lucene(搜索引擎)开发包

    **Lucene 搜索引擎开发包详解** Lucene 是一个开源的全文检索库,由 Apache 软件基金会维护。它提供了高性能、可扩展的搜索功能,广泛应用于网站、应用程序及大数据分析等领域。作为 Java 语言编写的核心库,Lucene...

    lucene+nutch搜索引擎开发源码2

    本资料主要探讨如何利用开源项目Lucene和Nutch构建一个完整的搜索引擎系统,这是一份关于“lucene+nutch搜索引擎开发源码”的第二部分。 Lucene是Apache软件基金会的一个高性能、全文本搜索库,它提供了基础的索引...

    lucene 高级搜索项目

    Lucene 是一个高性能、全文检索库,它提供了文本分析、索引和搜索功能,被广泛应用于各种搜索引擎的构建。在这个“Lucene 高级搜索项目”中,我们将深入探讨如何利用Lucene实现附件搜索、附件内容搜索以及全文搜索等...

Global site tag (gtag.js) - Google Analytics