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

Lucene 搜索方法(模糊搜索)

阅读更多

LUCENE提供了一种模糊搜索的机制。

代码:

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

 }

 

结果;

Document<stored/uncompressed,indexed,tokenized<bookname:work>>
Document<stored/uncompressed,indexed,tokenized<bookname:word>>
Document<stored/uncompressed,indexed,tokenized<bookname:world>>

 

注释:首先构建了一个TERM,并将其作为FuzzyQuery的构造函数,对于FuzzyQuery有两个构造函数,

public FuzzyQuery(Term term,float minimumSimilarity) throws IllegalArgumentException

public FuzzyQuery(Term term,float minimumSimilarity,int prefixLength) throws IllegalArgumentException

 

minimumSimilarity表示是最小相似度,可以通过指定一个相似度来决定模糊匹配的严格程度。默认为0.5,当这个值越小,通过模糊查找出的文档的匹配程度就越低,文档的数量也就越多;当这个值越大,说明要匹配程度更大,匹配的文档数也就越少,当相似度设置为1,那么就退化为TermQuery查询,所以当这个值>=1或<0会抛出IllegalArgumentException异常。

另外一个参数prefixLength表示在进行模糊匹配的时候,要有多少个前缀字母必须完全匹配。例如当该值设置为“1”,则表示所有此条只有第一个字母与检索关键字相符时,才会被集合选中。

 

以上程序设置相似度为0.1f,并且匹配第一个字母相符的检索结果。

分享到:
评论

相关推荐

    Lucene全文搜索 分组,精确查找,模糊查找

    《Lucene全文搜索:分组、精确查找与模糊查找详解》 在IT行业中,全文搜索引擎的使用越来越广泛,而Apache Lucene作为一款强大的开源全文检索库,深受开发者们的喜爱。它提供了高效的索引和查询功能,使得在海量...

    Lucene 搜索方法(前缀搜索)

    这对于那些需要提供实时、模糊或建议式搜索体验的应用来说尤其重要。 首先,前缀搜索的核心在于`PrefixQuery`类,它是Lucene提供的一个查询类,用于执行以特定前缀开头的搜索。在`PrefixQueryDemo.java`文件中,...

    Lucene全文搜索_LuceneJava全文搜索_

    总之,Lucene作为Java全文搜索的基石,提供了强大的功能和灵活性,可以帮助开发者构建高效、精准的搜索功能,无论是简单的关键词搜索还是复杂的模糊和智能查询,都能游刃有余地应对。结合"用户管理手册.docx"的学习...

    模糊查询-lucene-IKAnalyzer

    模糊查询是Lucene中的一个重要特性,它允许用户输入部分关键词或者使用通配符来进行搜索。例如,用户可以输入"计算*"来查找所有以"计算"开头的词汇。在Lucene中,我们可以使用`QueryParser`类来构造模糊查询的`Query...

    lucene站内搜索

    5. **拼音和同义词支持**: 引入拼音库和同义词库,提高对中文模糊搜索的支持。 总之,Lucene站内搜索提供了一套强大且灵活的搜索框架,通过合理的配置和优化,可以实现高效、准确的站内信息检索。在实际项目中,...

    利用Lucene 实现高级搜索

    ### 利用Lucene实现高级搜索的关键知识点 #### Lucene简介 ...总之,Lucene提供了丰富的搜索功能,包括布尔操作符、域搜索、通配符搜索、模糊查询和范围搜索,使开发者能够根据具体需求定制高级搜索应用。

    Java搜索引擎 Lucene

    5. **模糊搜索**:支持通配符、短语、近似和模糊搜索,提高搜索灵活性。 6. **高可用性**:Lucene可以与其他Java项目无缝集成,支持多线程和分布式环境。 使用Lucene的基本步骤包括: 1. **创建索引**:首先,需要...

    基于Lucene的搜索引擎的研究与应用

    与传统基于SQL数据库的搜索引擎相比,基于Lucene的搜索引擎在处理大规模数据集时,特别是在需要全文检索和模糊搜索的情况下,更加高效。文章中的新闻搜索引擎通过使用Lucene的API,相比普通搜索引擎,提高了搜索的...

    lucene实现企业搜索实例

    Lucene还提供了许多高级功能,如近实时搜索(NRT)、多字段搜索、模糊查询、短语查询、通配符查询、正向索引、倒排索引等。同时,Lucene支持分布式搜索,通过Solr或Elasticsearch等工具,可以构建大规模的企业级搜索...

    lucene 实现类似百度搜索

    3. **模糊查询(Fuzzy Queries)**:允许用户输入近似术语,如 "lucen~" 可匹配 "lucene" 和 "luken"。 4. **范围查询(Range Queries)**:筛选在一定范围内的数值或日期。 5. **评分(Scoring)**:Lucene 会计算...

    lucene实现全文搜索

    这种方法广泛应用于各种场景,如搜索引擎、文档管理系统、知识库查询等。全文检索与数据库中的LIKE关键字查询不同,LIKE虽然能进行模糊匹配,但其结果可能不准确,没有相关度排序,且效率较低。 【Lucene简介】 ...

    Lucene5学习之拼音搜索

    《深入探索Lucene5:拼音搜索的实现与应用》 Lucene是一个强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在Lucene5版本中,它不仅提供了基础的文本搜索功能,还支持了拼音搜索,这极大地提高了中文搜索的...

    博客园文章搜索项目(Lucene)

    对学习lucene开发的人员来说这个项目非常有价值 值得参考"&gt;项目的页面都存在WebRoot WEB INF jsp下 网上搜索博客园网页的地址 输入到相应搜索框 该项目可以自动对博客园网站中的文章 项目中限制了文章数量 建立...

    Weblucene 站内搜索

    除了基础功能,Weblucene还提供了许多高级特性,如布尔查询、短语搜索、模糊匹配、近似搜索等。你可以根据具体需求,学习并应用这些特性来提升搜索体验。 **5. 维护与升级** 为了保证Weblucene的稳定性和安全性,...

    基于lucene的桌面搜索引擎

    **基于Lucene的桌面搜索引擎** 在信息技术飞速发展的今天,数据量激增,高效的信息检索变得至关重要。桌面搜索引擎作为个人信息管理的重要工具,可以帮助用户快速、准确地定位存储在本地计算机中的文件和信息。本...

    全文搜索-Lucene

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

    基于Lucene的语段模糊匹配中文检索系统设计与实现 (2009年)

    ### 基于Lucene的语段模糊匹配中文检索系统设计与实现 #### 一、引言 随着信息技术的发展,信息检索技术在图书馆等领域的应用变得越来越重要。然而,在实际应用过程中,用户经常面临的问题是:能够记住文章或书籍...

Global site tag (gtag.js) - Google Analytics