`

Lucene 2小时学习笔记

    博客分类:
  • JAVA
阅读更多

1,创建index步骤

1.1 IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR), new StandardAnalyzer(Version.LUCENE_CURRENT),

true, IndexWriter.MaxFieldLength.LIMITED);   //创建indexWriter

1.2 writer.addDocument(FileDocument.Document(file)); //添加索引

1.3 writer.optimize();  //调优

1.4 writer.close();  //关闭

总体思路:

首先建立索引文件,然后把要全文检索的文件索引化,接着再进行调优,最后关闭索引。


2,根据index查询指定内容

2.1 IndexReader reader = IndexReader.open(FSDirectory.open(new File(index)), true); // only searching, so read-

only=true      // 创建IndexReader 打开索引

2.2 Searcher searcher = new IndexSearcher(reader);  //创建搜索器

2.3 创建查询单元 
2.3.1 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);  //  创建分析器
2.3.2 QueryParser parser = new QueryParser(field, analyzer); // 创建查询解析器
2.3.3 Query query = parser.parse(line); 通过使用查询解析器对查询字段进行解析,创建查询对象

2.4 具体查询
2.4.1 Collector streamingHitCollector = new Collector() { ... ... }; // 创建搜索数据收集器
2.4.2 searcher.search(query, streamingHitCollector); //搜索器根据查询对象及数据收集器进行搜索业务

总体思路:

首先打开索引文件,然后构建搜索器,接着再创建查询对象和数据收集器,最后用搜索器根据查询对象和数据收集器进行搜索。

3,核心类介绍
3.1 IndexWriter 索引写入器主要是用来创建索引、把全文检索源写入索引
3.2 IndexReader 索引读取器主要是用来打开索引并创建搜索器
3.3 Searcher 搜索器只要是用来根据查询对象及数据收集器来进行数据搜索
3.4 Query 查询对象,通过查询解析器获取查询对象
3.4.1 Analyzer  分析器,提供了查询解析器的分析逻辑实现
3.4.2 QueryParser 查询对象解析器,根据查询分析器及查询字段构建查询对象
3.5 Collector 收集器主要是指用来收集源搜索结果集,并对此进行诸如排序自定义过滤等相关整理

分享到:
评论

相关推荐

    Lucene 3.6 学习笔记

    【Lucene 3.6 学习笔记】 Lucene 是一个高性能、全文本搜索库,广泛应用于各种搜索引擎的开发。本文将深入探讨Lucene 3.6版本中的关键概念、功能以及实现方法。 ### 第一章 Lucene 基础 #### 1.1 索引部分的核心...

    lucene3.5学习笔记

    ### Lucene 3.5 学习笔记 #### 一、Lucene 3.5 基本概念 ##### 1.1 Lucene 概述 **1.1.1 IndexWriter** `IndexWriter` 是 Lucene 中的核心类之一,用于创建或更新索引。它提供了添加文档、删除文档、优化索引等...

    lucene 3.5学习笔记

    《Lucene 3.5 学习笔记》 在信息技术高速发展的今天,搜索引擎技术成为了信息检索的核心工具。Apache Lucene,作为一个开源全文检索库,为开发者提供了强大的文本搜索功能。本文将深入探讨Lucene 3.5版本的相关知识...

    lucene3.0学习笔记(三)与paoding整合

    《Lucene 3.0 学习笔记(三)与Paoding整合》 在深入了解Lucene 3.0的过程中,我们经常会遇到如何将其与第三方工具进行整合的问题,以提升搜索性能和用户体验。这篇学习笔记主要关注的是将Lucene 3.0与Paoding搜索...

    lucene基础学习笔记&源码

    **Lucene 基础学习笔记与源码分析** **一、Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它是一个 Java 开发的开源项目,被广泛应用于各种搜索引擎的构建,支持多种编程...

    Lucene 学习笔记 1

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

    本人的Lucene2.9学习笔记

    2. 搜索索引:用户输入查询后,Lucene使用`IndexSearcher`来查找匹配的文档,并返回结果。 三、Lucene索引逻辑结构 Lucene的索引结构是分层次的: 1. 索引由多个段组成,每个段包含: 2. 文档(Document):文档...

    lucene学习笔记

    ### Lucene.NET 2.3.1 学习笔记 #### 一、Lucene.NET 简介 Lucene.NET 是一个高性能、全功能的文本搜索引擎库,它为.NET平台提供了一个灵活且强大的全文检索解决方案。该库允许开发者将搜索功能集成到应用程序中,...

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

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

    Lucene学习笔记

    【Lucene学习笔记】 Lucene 是一款开源的全文检索框架,由Apache软件基金会维护,它提供了高效的、可扩展的搜索引擎功能。不同于一个完整的应用程序,Lucene 提供的是一个基础组件,开发者可以将其集成到自己的应用...

    Lucene学习笔记(一)Lucene入门实例

    NULL 博文链接:https://kylinsoong.iteye.com/blog/719415

    Lucene.net 学习

    主要包含Lucene.net 学习笔记和 Lucene.net 系列的代码,一直一些简单的程序

    lucene2.4+nutch学习笔记三:lucene 在多个文本文档里找出包含一些关键字的文档

    《Lucene 2.4与Nutch学习笔记:在多文本文档中搜索关键词》 Lucene是一个高性能、全文本搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的基本工具。Nutch则是一个开源的网络爬虫项目,用于抓取...

Global site tag (gtag.js) - Google Analytics