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

Lucene 搜索方法(多短语搜索)

阅读更多

短语搜索解决了短语搜索的问题,在很多情况下,用户输入某个关键字时,该关键字可以喝多种单字组成短语,例如,用户输入一个“声”字。它可以和“声音”,“声明”等字组成短语。LUCENE提供了MultiPhraseQuery来进行多短语搜索。

代码:

public static void main(String[] args) {
  try {
   IndexSearcher search = new IndexSearcher("d://demo");
   MultiPhraseQuery query = new MultiPhraseQuery();
   Term term1 = new Term("bookname","钢");
   Term term3 = new Term("bookname","和");
   query.add(new Term[]{term1,term3});
   
   Term term2 = new Term("bookname","铁");
   
   Term term4 = new Term("bookname","要");
   
   query.add(new Term[]{term2,term4});
   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:钢铁战士>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢铁是怎样炼成的>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢和铁是两种金属元素>>
Document<stored/uncompressed,indexed,tokenized<bookname:钢要比铁有更多的碳元素>>

 

注释:该程序定义的是以“钢”和“和”开头的字,并且可以组合“铁”和“要”的短语。

在该类中同样可以使用坡度的方法。

分享到:
评论

相关推荐

    Lucene 搜索方法(短语搜索)

    本文将聚焦于Lucene中的短语搜索,一种能精确匹配多个词汇顺序的搜索方法。通过分析和实践`DemoData.java`和`PhraseQueryDemo.java`这两个示例代码,我们将深入探讨这一主题。 首先,短语搜索是Lucene中的一种高级...

    lucene站内搜索

    3. **文档(Document)**: 在Lucene中,每个要搜索的信息被视为一个Document,包含多个Field,如标题、内容、作者等。 4. **字段(Field)**: Field是文档的组成部分,每个字段有特定的属性,如是否存储原始值、...

    Lucene全文搜索_LuceneJava全文搜索_

    在搜索阶段,Lucene支持多种查询类型,如标准查询(Standard Query)、短语查询(Phrase Query)、布尔查询(Boolean Query)以及模糊查询。模糊查询允许用户输入近似或部分关键词,系统会尝试找到与之最接近的匹配...

    lucene搜索引擎项目

    《深入理解Lucene搜索引擎项目》 Lucene是一个高性能、全文本搜索库,它为开发者提供了在Java应用程序中实现全文检索的工具集。这个名为“lucene搜索引擎项目”的资源,旨在帮助用户更好地理解和应用Lucene来构建...

    Lucene搜索引擎开发权威经典(附盘源码)【于天恩】.zip

    《Lucene搜索引擎开发权威经典》是由于天恩编著的一本深入探讨Lucene搜索引擎开发的专业书籍,这本书结合源码分析,旨在帮助读者掌握Lucene的核心技术和应用实践。Lucene是Apache软件基金会的一个开放源代码项目,它...

    C#调用Lucene方法-实现快速搜索

    2. **创建索引**:索引是Lucene搜索的核心。我们需要定义一个Analyzer(分析器)来处理文本,如使用StandardAnalyzer进行英文分词。然后,使用Directory(目录)对象(如FSDirectory)指定存储索引的位置,最后使用...

    lucene3.6 搜索例子

    1. 文档创建:在Lucene中,所有的数据都被转化为文档对象,每个文档可以包含多个字段,如标题、正文等。每个字段都有自己的特性,比如是否被索引、是否可搜索、是否存储等。 2. 分析器:在将文本数据添加到索引之前...

    Java搜索引擎 Lucene

    这些工具在Lucene的基础上添加了更多管理和扩展功能,使搜索解决方案更加完整。 对于开发语言,Java是Lucene的主要实现语言,这意味着所有的API和类都是用Java编写。如果你熟悉Java,那么使用Lucene会非常方便。...

    lucene 实现类似百度搜索

    2. **短语查询(Phrase Queries)**:查找特定顺序的多个术语,如 "大数据技术"。 3. **模糊查询(Fuzzy Queries)**:允许用户输入近似术语,如 "lucen~" 可匹配 "lucene" 和 "luken"。 4. **范围查询(Range ...

    lucene实现企业搜索实例

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

    开发自己的搜索引擎 lucene + heritrix

    理解Lucene和Heritrix的工作原理和使用方法,以及如何将两者结合构建有效的搜索引擎,对于完成这项工作至关重要。同时,针对垂直领域的深入理解与合理设计也是构建出有商业价值的搜索引擎的重要前提。

    ssh+lucene搜索实例

    在这个"ssh+lucene搜索实例"中,我们可以理解为结合了SSH和Lucene两个技术,以实现远程服务器上的全文检索功能。例如,可能有一个需求是在多个远程服务器上存储大量数据,而这些数据需要通过关键词进行快速搜索。在...

    lucene搜索引擎配置详解

    本文将深入探讨Lucene搜索引擎的配置过程,包括文件加载、索引创建和搜索操作,帮助你理解其核心技术。 ### 文件加载 在Lucene中,首先需要将待搜索的数据加载到内存或磁盘上的某个结构中。这通常涉及到读取各种...

    [Lucene搜索引擎开发权威经典].zip

    通过阅读《Lucene搜索引擎开发权威经典》,读者可以深入了解Lucene的内部机制,并学会如何利用它来构建自己的搜索解决方案,适用于网站、企业信息系统、大数据分析等多个领域。书中的实践案例和代码示例将帮助读者...

    Weblucene 站内搜索

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

    Lucene搜索-引擎开发权威经典pdf+源码第二部分

    《Lucene搜索-引擎开发权威经典》是一本深入解析Apache Lucene搜索引擎库的专业书籍,它为读者提供了构建高效全文搜索引擎的全面指南。Lucene是Java领域最著名的全文检索库,被广泛应用于各种信息检索系统中,包括...

    基于lucene的桌面搜索引擎

    **基于Lucene的桌面搜索引擎** 在信息技术飞速发展的今天,数据...利用Lucene的强大功能,不仅可以实现基础的全文搜索,还能进行高级查询,如短语搜索、通配符搜索和近似搜索等,极大地提升了桌面搜索的效率和便利性。

    lucene全文搜索

    ### Lucene全文搜索知识点概述 #### 一、全文检索的基本概念及应用场景 1. **全文检索定义**: - 全文检索是指从大量文本信息中快速、准确地查找出包含特定关键词或短语的文档的技术。 - 搜索内容为文本信息(非...

    基于Lucene的搜索引擎

    3. **查询解析**:用户输入的查询字符串被解析成一系列的查询项,Lucene提供多种查询语法,如布尔运算符(AND, OR, NOT)、短语查询、范围查询等。 4. **评分机制**:Lucene使用TF-IDF(Term Frequency-Inverse ...

Global site tag (gtag.js) - Google Analytics