2021SC@SDUSC

搜索过程(1)

Lucene搜索样例:

public static void main(String[] args)
{
 try {
     IndexReader reader=DirectoryReader.open(FSDirectory.open(new File("F:\\index")));
     IndexSearcher searcher=new IndexSearcher(reader);
     Analyzer analyzer=new StandardAnalyzer(Version.LUCENE_43);
     
      QueryParser queryParser=new QueryParser(Version.LUCENE_43, "content", analyzer);
     
      Query query=queryParser.parse("lucene");
      TopDocs topDocs=searcher.search(query, 10);
     
      ScoreDoc[] hits=topDocs.scoreDocs;
     
      for(int i=0;i      {
          System.out.println("score:"+hits[i].score);
          System.out.println("title:"+searcher.doc((hits[i].doc)).get("title"));
      }
   
} catch (Exception e) {
    e.printStackTrace();
}   
}

相关类的简单描述

1.IndexReader

IndexReader是一个抽象类,提供访问索引的接口。对一个索引的查询就是通过该接口。

有两种不同的IndexReader。

a.AtomicReader:不包含子reader 是一个原子类型的reader 支持存储域,文档值,词和倒排表

b.CompositeReader:

一个基于硬盘的IndexReader实例,通常是通过调用DirectoryReader.open()方法来构造的。

对于更有效地方法,通常通过一个唯一的ID来关联一个document。IndexReader是线程安全的。

2.AtomicReader

3.CompositeReader

4.IndexReaderContext

代表IndexReader层次关系的一个结构类。

5.DirectoryReader
CompositeReader的实现类,可以从一个directory中读取索引信息。
通常调用静态方法open(final Directory directory)

6.FindSegmentsFile
同当前段文件打交道的工具类。

lucene(11)相关推荐

  1. 【搜索那些事】细谈lucene(一)初识全文资源检索框架lucene

    一:lucene历史和简介 Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎.它不是一个完整的搜索应 ...

  2. 路由器连接帧中继网络的接口是(11),连接双绞线以太网的接口是(12)。 【答案】D B

    路由器连接帧中继网络的接口是(11),连接双绞线以太网的接口是(12). (11)A.AUI接口 B.RJ-45接口 C.Console接口 D.Serial接口 (12)A.AUI接口 B.RJ-4 ...

  3. ansible笔记(11):初识ansible playbook(二)

    ansible笔记(11):初识ansible playbook(二)有前文作为基础,如下示例是非常容易理解的:--- - hosts: test211remote_user: roottasks:- ...

  4. FPGA逻辑设计回顾(11)FPGA以及PC中的RAM与ROM

    文章目录 前言 RAM以及ROM在计算机中的应用 什么是存储器? 什么是硬盘驱动器? 其他类型的存储器 什么是RAM? RAM的类型 SRAM DRAM 什么是ROM? ROM的类型 掩膜ROM PR ...

  5. Linux第二周学习笔记(11)

    Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...

  6. Xamarin图表开发基础教程(11)OxyPlot框架支持的图表类型

    Xamarin图表开发基础教程(11)OxyPlot框架支持的图表类型 OxyPlot组件中支持7种类型的条型图表,分别为普通条形图.线型条形图.矩形条形图.差值图.龙卷风图.普通柱形图和柱形误差图, ...

  7. Android菜鸟的成长笔记(11)——Android中的事件处理

    原文: [置顶] Android菜鸟的成长笔记(11)--Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调 ...

  8. Android 2.2 r1 API 中文文档系列(11) —— RadioButton

    一.结构 public class RadioButton extends CompoundButton java.lang.Object    android.view.View          ...

  9. FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析

    FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析 怎么查找就绪任务中优先级最高的? tasks.c中声明了一个全局变量 uxTopReadyPriority,任务从其他状态进入就绪 ...

最新文章

  1. 计算机三级四级机考,2017年全国计算机等级考试四级上机编程试题一
  2. 工作后越来越觉得,丢什么也不能丢账号!
  3. java安全技术-Base64编码与解码
  4. OpenCV视网膜和现实世界的视野
  5. 使用AWS Lambdas扩展技术堆栈
  6. android IO流_Flutter实战经验(十):打包和发布到 Android 平台
  7. JavaSE——Java基础语法(二进制、变量、方法(函数)、运算符、转义字符)
  8. Permission denied (publickey).
  9. DataBinding 学习系列(3)新增的可见字段来编写对象(bean)
  10. 计算机基础知识问卷,计算机基础知识情况问卷调查
  11. WPS(Word)中图注、域的使用基础
  12. 爬虫js逆向实战--中通快递轨迹查询接口(验证码)
  13. 如何使用python实现翻转英文句子的单词顺序
  14. python判断线程是否执行完成_判断Threading.start新线程是否执行完毕的实例
  15. 4个易打动人的营销技巧
  16. 桌面整理助手 - DesktopAssistant 1.2.1.9
  17. psid mysql_使用Python对MySQL数据库插入二十万条数据
  18. win7一直显示正在关机_win7系统一直卡在正在关机无法关机怎么解决
  19. 安卓版微信内置浏览器无法触发onchange事件
  20. 【服务器数据恢复】DELL PowerEdge服务器RAID5数据恢复案例

热门文章

  1. WordPress Avada主题评测:非常受欢迎但值得吗? (2022)
  2. 什么是Teardrop攻击?我们要如何防御Teardrop攻击?
  3. 一加8T,一加8和一加8Pro有什么区别哪个好?分析优缺点?
  4. 学习teardrop攻击并伪造一个ip包
  5. scrapy爬取微信公众号内容,多管道储存,orm数据储存
  6. Kindle3之中文乱码问题
  7. 设置Layui表格字段的字体颜色
  8. 按住Alt键加小键盘数字出现的特殊字符对照表
  9. DPDK 与DPDK-Pktgen 安装
  10. Windows 10 Version 2004 新功能盘点