`
BuN_Ny
  • 浏览: 85989 次
  • 来自: 济南
社区版块
存档分类
最新评论

5) 第一章 初识Lucene:理解核心搜索类

阅读更多

 

 

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的全文检索引擎简介

    Lucene是一个基于Java的全文索引工具包。 1. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 2. 全文检索的实现:Luene全文索引和数据库索引的比较 3. 中文切分词机制简介:基于词库和自动切分词算法的...

    lucene-core-7.7.0-API文档-中文版.zip

    赠送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...

    IKAnalyzer中文分词支持lucene6.5.0版本

    由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本

    精品资料(2021-2022收藏)Lucene:基于Java的全文检索引擎简介.doc

    总结来说,Lucene是一个强大的、灵活的全文检索引擎,适用于各种Java应用的集成,能够提供高效、精确的文本搜索功能。它的开源性质和广泛社区支持,使其成为了Java世界中全文检索的标准工具。通过深入学习和实践,...

    指南-Lucene:ES篇.md

    指南-Lucene:ES篇.md

    lucene包,lucene实现核心代码

    在"lucene包"中,我们可以找到Lucene的核心组件和类,这些类负责索引和搜索文档。以下是Lucene实现的核心知识点: 1. **索引过程**: - `IndexWriter`:这是创建和更新Lucene索引的主要类。通过这个类,你可以将...

    lucene:基于Java的全文检索引擎简介

    - **应用接口扩展**:开发者可以扩展Lucene的核心类和接口,以满足特定需求。 #### 6. Lucene的应用与学习价值 Lucene因其高性能和灵活性,在许多应用场景中被广泛使用,包括但不限于: - **Web论坛系统**(如...

    面试指南-Lucene:ES篇.md

    ### Lucene与Elasticsearch核心知识点详解 #### 一、倒排索引深入骨髓 **1. 倒排索引的原理及其应用场景** 倒排索引是一种用于快速检索文档的技术,它改变了传统索引从文档指向关键词的方式,转而以关键词指向...

    Lucene:基于Java的全文检索引擎简介.rar

    **Lucene:基于Java的全文检索引擎简介** Lucene是一个高度可扩展的、高性能的全文检索库,由Apache软件基金会开发并维护。...通过深入理解其核心原理和最佳实践,开发者可以构建出高效、定制化的搜索引擎解决方案。

    精品资料(2021-2022收藏)Lucene:基于Java的全文检索引擎简介.docx

    通过理解其基本概念和机制,开发者可以利用Lucene创建高度定制的搜索解决方案,满足各种业务需求。无论是论坛系统、邮件列表归档还是基于XML的Web发布框架,Lucene都能提供强大的全文搜索支持。

    lucene3.0核心jar包

    这里的"lucene3.0核心jar包"是 Lucene 的一个重要版本,发布于2009年,为当时的开发人员提供了构建全文搜索引擎的基础框架。 在 Lucene 3.0 中,以下几个关键知识点值得关注: 1. **索引结构**:Lucene 使用倒排...

    官方最新完整版lucene-6.6.0.zip

    《Apache Lucene 6.6.0:全文检索与索引库详解》 Apache Lucene 是一个开源的全文检索库,由Java编写,为开发者提供了强大的...通过深入理解其核心机制和功能,开发者可以更好地利用这一技术,提升应用的搜索体验。

    lucene 所有jar包 包含IKAnalyzer分词器

    在信息技术领域,搜索引擎是不可或缺的一部分,而Lucene作为Apache软件基金会的一个开放源代码项目,是Java语言开发的全文检索引擎库,为构建高效、可扩展的信息检索应用提供了强大的支持。本文将深入探讨Lucene的...

    精品资料(2021-2022收藏)Lucene:基于Java的全文检索引擎简介22173.doc

    【Lucene:基于Java的全文检索引擎简介】 Lucene是一个由Java编写的全文索引工具包,它不是一个...通过学习和使用Lucene,开发者可以深入理解全文检索的原理和技术,从而在实际项目中构建高效、准确的搜索解决方案。

    比较全面的一个入门 lucene

    **第一章:Lucene简介** 1. **搜索引擎的历史**:从早期的Archie、Gopher到如今的Google和百度,搜索引擎经历了从萌芽到繁荣的发展历程。 2. **什么是Lucene**:Lucene是一个用Java编写的开源全文检索工具包,它不是...

Global site tag (gtag.js) - Google Analytics