`
baobeituping
  • 浏览: 1042180 次
  • 性别: 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 搜索方法(短语搜索)

    NULL 博文链接:https://baobeituping.iteye.com/blog/847043

    Lucene 3.6 学习笔记

    (6) 短语查询(PhraseQuery) 12 (7) 模糊查询(FuzzyQuery) 12 3.3 QueryParser 13 (1) 创建QueryParser 13 (2) 各种匹配方式 13 3.4 分页搜索 14 (1) 普通分页 14 (2) searchAfter分页 15 第四章 分词基础 17 4.1...

    【分享:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    9.8. 多短语搜索—MultiPhraseQuery 20 9.9. 模糊搜索—FuzzyQuery 21 9.10. 通配符搜索—WildcardQuery 21 9.11. 跨度搜索 21 9.11.1. SpanTermQuery 21 9.11.2. SpanFirstQuery 21 9.11.3. SpanNearQuery 22 ...

    auto-phrase-tokenfilter:Lucene自动短语TokenFilter实现

    Lucene自动短语TokenFilter实现 对令牌流执行“自动短语编制”。 自动短语是指标记序列,旨在描述单个事物,因此应进行搜索。 当在令牌流中检测到这些短语时,将发出代表该短语的单个令牌,而不是组成该短语的各个...

    Lucene IndexApplication:使用lucene索引文本文档-开源

    Lucene 是一个基于 Java 的开源搜索库。 Lucene 是一个非常流行且快速的搜索库,用于基于 Java 的应用程序中,以非常简单有效的方式为任何类型的应用程序添加文档搜索功能。 Lucene 功能:- 强大、准确且高效的搜索...

    Tantivy 是受 Apache Lucene 启发并用 Rust 编写的全文搜索引擎库

    10ms),非常适合命令行工具BM25评分(与Lucene相同)自然查询语言(例如(michael AND jackson) OR "king of pop" )短语查询搜索(例如"michael jackson" )增量索引多线程索引(在我的桌面上索引英文维基百科需要 ...

    BabyGoogle:最简单的谷歌克隆

    宝贝谷歌### 任务:基于 Lucene 全文搜索制作一个简单的“Google”克隆。...q={query} | (GET 或 POST 方法)显示包含搜索词或短语的 10 条记录(网页链接)。 录制格式非常简单: &lt; b&gt; {document title} &lt;/ b&gt;{do

    beagle:Beagle可帮助您识别文本文档流中感兴趣的关键字,短语,正则表达式和复杂的搜索查询

    beagle:Beagle可帮助您识别文本文档流中感兴趣的关键字,短语,正则表达式和复杂的搜索查询

    jcseg-master.zip

    关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同时提供了最新版本的lucene、solr、elasticsearch、opensearch的搜索分词接口

    Information-Retrieval-News:信息检索系统

    任务是使用Lucene索引和搜索特定的文档集合。 内容所涉及的内容是从许多来源收集的新闻文章的集合(大部分是):《金融时报》有限公司(1991、1992、1993、1994),《联邦公报》(1994),《外国广播信息服务》...

    ZendFramework中文文档

    6.2.1. 用短语法声明选项 6.2.2. 用长语法声明选项 6.3. 读取(Fetching)选项和参数 6.3.1. 操作 Getopt 异常 6.3.2. 通过名字读取 (Fetching)选项 6.3.3. 报告选项 6.3.4. 读取非选项参数 6.4. 配置 Zend...

Global site tag (gtag.js) - Google Analytics