1. IndexSearcher
IndexSearcher用来搜索由IndexWriter索引的内容:它是与索引文件之间的重要通道,并提供了一些搜索方法。你可以把IndexSearcher理解成这样一个类:它以"只读"方式打开索引文件。它提供了大量搜索方法,其中一些方法继承自其抽象父类Searcher. 其典型用法如下:
IndexSearcher searcher = new IndexSearcher("/tmp/index");
Query q = new TermQuery(new Term("contents", "lucene"));
TopDocs hits = searcher.search(q, 10);
searcher.close();
2. Term
Term是搜索的基本单元。和Field对象相像,它也包含了一对字符串信息:域名和对应域值。值得一提的是,Term对象在索引阶段也会被调用,只不过一切都在Lucene的内部实现,你不需要关心它。一个典型的调用方式是在TermQuery中构造Term:
Query q = new TermQuery(new Term("contents", "patent"));
TopDocs hits = searcher.search(q, 10);
3. Query
Lucene有诸多Query子类,目前接触到的是TermQuery. 其它还有:BooleanQuery, PhraseQuery, PrefixQuery, PhrasePrefixQuery, RangeQuery, FilteredQuery 和 SpanQuery. 这些类中包含了大量的实用方法如setBoost(float)
4. TermQuery
TermQuery是Lucene支持的最基础的查询类。它被用来匹配包含了特定值的域的文档。
5. TopDocs
TopDocs是一个简单的指针容器,它指向top N的结果集。
分享到:
相关推荐
Lucene是一个基于Java的全文索引工具包。 1. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 2. 全文检索的实现:Luene全文索引和数据库索引的比较 3. 中文切分词机制简介:基于词库和自动切分词算法的...
赠送jar包:lucene-core-7.7.0.jar; 赠送原API文档:lucene-core-7.7.0-javadoc.jar; 赠送源代码:lucene-core-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-core-7.7.0.pom; 包含翻译后的API文档:lucene...
由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本
总结来说,Lucene是一个强大的、灵活的全文检索引擎,适用于各种Java应用的集成,能够提供高效、精确的文本搜索功能。它的开源性质和广泛社区支持,使其成为了Java世界中全文检索的标准工具。通过深入学习和实践,...
指南-Lucene:ES篇.md
在"lucene包"中,我们可以找到Lucene的核心组件和类,这些类负责索引和搜索文档。以下是Lucene实现的核心知识点: 1. **索引过程**: - `IndexWriter`:这是创建和更新Lucene索引的主要类。通过这个类,你可以将...
- **应用接口扩展**:开发者可以扩展Lucene的核心类和接口,以满足特定需求。 #### 6. Lucene的应用与学习价值 Lucene因其高性能和灵活性,在许多应用场景中被广泛使用,包括但不限于: - **Web论坛系统**(如...
### Lucene与Elasticsearch核心知识点详解 #### 一、倒排索引深入骨髓 **1. 倒排索引的原理及其应用场景** 倒排索引是一种用于快速检索文档的技术,它改变了传统索引从文档指向关键词的方式,转而以关键词指向...
**Lucene:基于Java的全文检索引擎简介** Lucene是一个高度可扩展的、高性能的全文检索库,由Apache软件基金会开发并维护。...通过深入理解其核心原理和最佳实践,开发者可以构建出高效、定制化的搜索引擎解决方案。
通过理解其基本概念和机制,开发者可以利用Lucene创建高度定制的搜索解决方案,满足各种业务需求。无论是论坛系统、邮件列表归档还是基于XML的Web发布框架,Lucene都能提供强大的全文搜索支持。
这里的"lucene3.0核心jar包"是 Lucene 的一个重要版本,发布于2009年,为当时的开发人员提供了构建全文搜索引擎的基础框架。 在 Lucene 3.0 中,以下几个关键知识点值得关注: 1. **索引结构**:Lucene 使用倒排...
《Apache Lucene 6.6.0:全文检索与索引库详解》 Apache Lucene 是一个开源的全文检索库,由Java编写,为开发者提供了强大的...通过深入理解其核心机制和功能,开发者可以更好地利用这一技术,提升应用的搜索体验。
在信息技术领域,搜索引擎是不可或缺的一部分,而Lucene作为Apache软件基金会的一个开放源代码项目,是Java语言开发的全文检索引擎库,为构建高效、可扩展的信息检索应用提供了强大的支持。本文将深入探讨Lucene的...
【Lucene:基于Java的全文检索引擎简介】 Lucene是一个由Java编写的全文索引工具包,它不是一个...通过学习和使用Lucene,开发者可以深入理解全文检索的原理和技术,从而在实际项目中构建高效、准确的搜索解决方案。
**第一章:Lucene简介** 1. **搜索引擎的历史**:从早期的Archie、Gopher到如今的Google和百度,搜索引擎经历了从萌芽到繁荣的发展历程。 2. **什么是Lucene**:Lucene是一个用Java编写的开源全文检索工具包,它不是...