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 收集器主要是指用来收集源搜索结果集,并对此进行诸如排序自定义过滤等相关整理
分享到:
相关推荐
本人的Lucene2.9学习笔记 本人的Lucene2.9学习笔记 本人的Lucene2.9学习笔记 本人的Lucene2.9学习笔记本人的Lucene2.9学习笔记本人的Lucene2.9学习笔记 本人的Lucene2.9学习笔记
第一章 LUCENE基础 2 1.1 索引部分的核心类 2 1.2 分词部分的核心类 2 1.3 搜索部分的核心类 2 第二章 索引建立 3 2.1 创建Directory 3 2.2 创建Writer 3 2.3 创建文档并且添加索引 4 2.4 查询索引的基本信息 5 2.5 ...
lucene基础学习笔记&源码
介绍lucene3.5的相关技术,包括基本用法、分析器、索引建立与查询,扩展的高亮、分页、以及solr3.5的相关用法
lucene学习笔记,lucene入门必备材料
lucene学习笔记 2.txt lucene学习笔记 3 .txt lucene入门实战.txt Lucene 的学习 .txt Lucene-2.0学习文档 .txt Lucene入门与使用 .txt lucene性能.txt 大富翁全文索引和查询的例子程序.txt 关于lucene2.0...
很好的Lucene学习入门资料。lucene是纯java开发的,支持索引的建立和搜索
NULL 博文链接:https://lpf.iteye.com/blog/1440160
NULL 博文链接:https://kylinsoong.iteye.com/blog/719415
这是本人学习lucene时候做的笔记,内容较详细,通俗易懂,是入门Lucene的好帮手!欢迎下载!
主要包含Lucene.net 学习笔记和 Lucene.net 系列的代码,一直一些简单的程序
NULL 博文链接:https://langxiashahai.iteye.com/blog/703285
NULL 博文链接:https://menglh.iteye.com/blog/347467
lucene相关学习资料,包括lucene学习笔记,lucene添加中文分词等
lucene基本教程,里面包含JAR和实现代码,还有中科院分词的用法。