一, Lucene简单查询

import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;import com.baifan.lucene.ik.IKAnalyzer6x;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;public class QueryParseTest {public static void main(String[] args)throws ParseException, IOException {String field = "title";Path indexPath = Paths.get("indexdir");Directory dir = FSDirectory.open(indexPath);IndexReader reader = DirectoryReader.open(dir);IndexSearcher searcher = new IndexSearcher(reader);Analyzer analyzer = new IKAnalyzer6x();QueryParser parser = new QueryParser(field, analyzer);parser.setDefaultOperator(QueryParser.Operator.AND);Query query = parser.parse("农村学生"); // 查询关键词System.out.println("Query:" + query.toString());// 返回前10条TopDocs tds = searcher.search(query, 10);for (ScoreDoc sd : tds.scoreDocs) {Document doc = searcher.doc(sd.doc);System.out.println("DocID:" + sd.doc);System.out.println("id:" + doc.get("id"));System.out.println("title:" + doc.get("title"));System.out.println("文档评分:" + sd.score);}dir.close();reader.close();}
}

结果:

加载扩展词典:ext.dic
加载扩展停止词典:stopword.dic
加载扩展停止词典:ext_stopword.dic
Query:+title:农村 +title:村学 +title:学生
DocID:1
id:2
title:北大迎4380名新生 农村学生700多人近年最多
文档评分:2.5182846

Lucene查询操作相关推荐

  1. 【lucene】lucene查询操作

    文章目录 1.概述 2. 精准查询TermRangeQuery 3. 数字搜索NumericRangeQuery 4. 前缀搜索-PrefixQuery 4. 通配符搜索-WildcardQuery ...

  2. Lucene查询语法详解

    Lucene查询 Lucene查询语法以可读的方式书写,然后使用JavaCC进行词法转换,转换成机器可识别的查询. 下面着重介绍下Lucene支持的查询: Terms词语查询 词语搜索,支持 单词 和 ...

  3. lucene 查询示例_高级Lucene查询示例

    lucene 查询示例 本文是我们名为" Apache Lucene基础知识 "的学院课程的一部分. 在本课程中,您将了解Lucene. 您将了解为什么这样的库很重要,然后了解Lu ...

  4. lucene 查询示例_Lucene查询(搜索)语法示例

    lucene 查询示例 本文是我们名为" Apache Lucene基础知识 "的学院课程的一部分. 在本课程中,您将了解Lucene. 您将了解为什么这样的库很重要,然后了解Lu ...

  5. 高级Lucene查询示例

    本文是我们名为" Apache Lucene基础知识 "的学院课程的一部分. 在本课程中,您将了解Lucene. 您将了解为什么这样的库很重要,然后了解Lucene中搜索的工作方式 ...

  6. lucene查询原理

    lucene查询原理 1. lucene 数据模型 2. lucene 查询过程 3. SkipList 哨兵数组 skipDoc docDeltaBuffer Lucene中使用读取跳表SkipLi ...

  7. Lucene查询的底层实现IndexSearch(上)

    系列文章目录 (一)问答系统的文段检索 (二)lucene全文检索底层原理理解 (三)Lucene查询的底层实现IndexSearch(上) (四)Lucene查询的底层实现IndexSearch(下 ...

  8. resultset mysql_MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ [正文] 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查 ...

  9. Mybatis入门:4(多表查询操作)

    多表查询操作 Mybatis的多表操作 表之间的关系有几种:一对多.一对一.多对一.多对多 举例: 用户和订单就是一对多--一个用户可以下多个订单 订单和用户就是多对一--多个订单属于同一个用户 人和 ...

最新文章

  1. 实时音视频的超级风口,开发者的机会在哪里?
  2. ACM-ICPC 2018 南京赛区网络预赛
  3. Android开发之Service与IntentService的区别与使用场景(源代码剖析)
  4. python入门基础知识教程-Python基础知识入门,这三个原则是你要知道的,还有教程...
  5. 浅谈JavaScript错误
  6. php随机数字不重复,php生成N个不重复的随机数
  7. 笔记-项目采购管理-规划采购管理
  8. C# XML 添加,修改,删除Xml节点
  9. c语言双引号和单引号的区别_Python中的单引号和双引号有什么区别?
  10. oracle之高级子查询1
  11. myeclipse使用git图文教程
  12. javascript 西瓜一期 13 十六进制的数数方式与进位
  13. ACM的分类训练题集
  14. python manage.py startapp app 时候报错No module named _sqlite3
  15. 如何利用Camtasia给视频加上配音?
  16. Thread类中的常用方法
  17. SqlServer的填充因子
  18. 防治脖子痛的简易保健操
  19. 微信小程序云函数中有以下未安装的依赖,如果未安装即全量上传
  20. 编译安装pypy,让py飞起来

热门文章

  1. chfsgui局域网文件共享服务器
  2. html背景图像定位的三种方式,CSS秘密花园:灵活的背景定位
  3. 关于GPU显存占满(即memory usage 很大),但GPU-util很小,导致模型训练很慢
  4. 【汇正财经】如何从基本面与技术面分析股票的涨跌?
  5. 演讲实录丨悠易科技CEO周文彪:全域营销,引爆增长
  6. 软件质量保证测试实验1、 软件质量保证标准的分类
  7. 华为ensp nat转换实验
  8. Python 可视化视频课 - 3. Seaborn 上
  9. 护卫神支持java_护卫神·网站运行环境配置
  10. Monkeyrunner安装以及介绍