`
baobeituping
  • 浏览: 1068289 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Lucene 搜索方法(前缀搜索)

阅读更多

PrefixQuery是一种前缀搜索,在检索的时候,常常需要进行某种前缀查找,例如到图书馆查找一本书,可能只能记得书名的前面几个字,这种情况就可以用该种搜索模式。

 

public static void main(String[] args) {
  try {
   IndexSearcher search = new IndexSearcher("d://demo");
   Term term = new Term("bookname","钢");
   PrefixQuery query = new PrefixQuery(term);
   Hits hits = search.search(query);
   for(int i=0;i<hits.length();i++)
   {
    System.out.println(hits.doc(i));
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 

该类PrefixQuery也是通过传入一个TERM来进行检索,以上面几个例子的索引文件为例子:

结果:

Document<stored/uncompressed,indexed,tokenized<bookname:钢的世界>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢铁战士>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢铁是怎样炼成的>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢和铁是两种金属元素>>
Document<stored/uncompressed,indexed,tokenized<bookname:铁和钢是两种金属元素>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢要比铁有更多的碳元素>>

 

可以看到,以“钢”开头的文档都检索出来了。这种查询方式可能比较慢

分享到:
评论

相关推荐

    Lucene 搜索方法(模糊搜索)

    在IT领域,搜索引擎技术是不可或缺的一部分,而Apache Lucene是一个高性能、全文本搜索库,它为开发者提供了构建自定义搜索引擎应用程序所需的所有工具。本篇我们将深入探讨如何在Lucene中实现模糊搜索,以及相关的...

    Lucene全文搜索_LuceneJava全文搜索_

    在"Lucene全文搜索_LuceneJava全文搜索_"这个主题中,我们将深入探讨Lucene如何在Java环境中实现高效的全文搜索引擎。首先,Lucene的核心概念包括文档(Document)、字段(Field)、索引(Index)和搜索(Search)。...

    全文搜索-Lucene

    **全文搜索-Lucene** Lucene 是一个开源的全文搜索引擎库,由 Apache 软件基金会维护。它提供了高效的、可扩展的全文检索功能,被广泛应用于各种 Web 应用、内容管理系统以及数据挖掘项目中。Lucene 实现了索引和...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-08.Lucene搜索实战2 共5页.pptx

    【Lucene搜索引擎实战详解】 Lucene是一个开源的全文搜索引擎库,它提供了强大的索引和搜索功能,被广泛应用于各类文档的海量搜索系统中。在"Lucene4.X实战类baidu搜索的大型文档海量搜索系统"课程中,涵盖了一系列...

    lucene搜索引擎培训资料

    **Lucene搜索引擎培训资料概述** Lucene是一款开源的全文搜索引擎库,由Apache软件基金会开发,广泛应用于各种信息检索系统。它提供了高效的索引和搜索功能,支持文本分析、布尔查询、短语查询等多种搜索模式。这份...

    Lucene的原理完整版pdf

    5. **术语(Term)**:经过分词后的单个词或短语称为术语,是Lucene搜索的基本单位。 ### 二、Lucene工作流程 1. **创建索引**:首先,开发者需要创建一个`IndexWriter`实例,然后调用`addDocument()`方法添加文档...

    Lucene实战源码(Lucene in Action Source Code)part1

    此外,Lucene还支持多种搜索类型,如全文搜索、范围搜索、前缀搜索和模糊搜索。源码可能会演示如何使用这些搜索类型以及如何优化搜索性能,比如使用过滤器(Filter)和缓存(Cache)来减少不必要的计算。 在实际...

    lucene简单搜索引擎

    - **模糊查询**: 可以进行同义词搜索、前缀搜索或通配符搜索。 - **评分机制**: Lucene使用TF-IDF算法计算相关性,但可以通过自定义评分函数调整。 - **多字段搜索**: 可同时在多个字段上进行搜索,提高召回率。 ...

    Lucene 搜索引擎框架 基础实践

    **Lucene 搜索引擎框架基础实践** Lucene 是一个开源的全文检索库,由 Apache 软件基金会开发,它提供了高性能、可扩展的搜索和分析功能。在深入理解 Lucene 的工作原理和实践之前,我们需要先了解搜索引擎的基本...

    lucene_3.6.1_API

    `WildcardQuery`和`PrefixQuery`则实现了通配符和前缀搜索。 为了提高搜索性能,Lucene引入了缓存机制。`Filter`类可以对查询结果进行过滤,如按日期范围筛选,而`BitSet`则用于高效地存储过滤后的结果。同时,`...

    lucene5.X与lucene3.60的版本差异

    9. Lucene-5608, Lucene-5565:空间前缀树和单元API进行了重构,不再使用字符串标识,而是按需重新声明单元,增加了灵活性。 10. Lucene-5666:对非倒排访问(如排序、分类、分组)进行了改变,使用API而非`...

    Lucene.In.Action.2nd.Edition

    《Lucene in Action》第二版是一本专注于Apache Lucene搜索引擎库的专业著作,更新至2010年7月,提供详尽且清晰的Lucene使用指南。这本书是开发者们深入理解并有效应用Lucene进行信息检索和全文搜索的宝贵资源。 ...

    Lucene 3.6 学习笔记

    本文将深入探讨Lucene 3.6版本中的关键概念、功能以及实现方法。 ### 第一章 Lucene 基础 #### 1.1 索引部分的核心类 - `Directory`: 用于存储索引数据的抽象接口,例如FSDirectory(文件系统目录)和RAMDirectory...

    基于Lucene的Web搜索引擎的研究

    《基于Lucene的Web搜索引擎的研究》是一篇深入探讨如何利用Lucene构建高效、精准的Web搜索引擎的优秀研究生毕业论文。Lucene是Apache软件基金会开发的一个全文检索库,它提供了强大的文本分析和索引功能,是构建搜索...

    lucene全文检索全面教程

    本教程将深入探讨Lucene的核心概念、架构和使用方法,帮助你构建自己的全文搜索引擎。 ### 一、Lucene基础 1. **核心概念**:Lucene主要涉及的概念有文档(Document)、字段(Field)、索引(Index)、查询(Query...

    lucene.net+完全入门教程

    Lucene.Net是一个基于Apache Lucene的开源全文搜索引擎库,它被移植到.NET Framework平台上,为.NET开发者提供了强大的文本检索和分析能力。Lucene最初由Doug Cutting创建,是Java社区中的一个标志性项目,而Lucene...

    Lucene中的FST算法描述

    此外,构建FST的过程涉及了若干步骤,例如首先计算新输入(NInput)与前一个输出(LInput)之间的公共前缀prefix,然后调用freezeTail方法将LInput的后缀部分转换到FSTbytes数组中。在freezeTail过程中,节点会从后...

    lucene高级搜索进阶项目_02

    除了基本的单词查询,Lucene还支持更复杂的查询类型,如PrefixQuery(前缀查询)、WildcardQuery(通配符查询)、FuzzyQuery(模糊查询)、RegexQuery(正则表达式查询)等。这些查询类型极大地扩展了搜索能力,允许...

Global site tag (gtag.js) - Google Analytics