为什么80%的码农都做不了架构师?>>>   

1,使用 Filter 对搜索结果进行过滤,可以获得更小范围内更精确的结果。 RangeFilter filter = new RangeFilter("forum.id","1","1",true,true);//设置过滤字段 相当于SQL的 “forumId = 1”

2,在搜索时有时你想要一个排好序的结果集,就像SQL语句的“order by”,lucene能做到:通过Sort。 Sort sort = new Sort(“time”); //相当于SQL的“order by time” Sort sort = new Sort(“time”, true); // 相当于SQL的“order by time desc”

public static void searchWildcardQuery(File indexDir, String q) throws Exception {  Directory fsDir = FSDirectory.getDirectory(indexDir);   IndexSearcher is = new IndexSearcher(fsDir);// ① 打开索引   QueryParserTest parser = new QueryParserTest("title", new StandardAnalyzer());Query wildQuery = parser.createWildQuery(new Term("title",q)); // ② 分析查询   long start = new Date().getTime();        Sort sort = new Sort("id",true);//降序排列RangeFilter filter = new RangeFilter("forum.id","1","1",true,true);//设置过滤字段BooleanQuery.setMaxClauseCount(is.maxDoc());ScoreDoc[] docs = is.search(wildQuery,filter, is.maxDoc(),sort).scoreDocs;  // ③ 搜索索引   long end = new Date().getTime();   System.err.println("Found " + docs.length + " document(s) (in "  + (end - start) + "milliseconds) that matched query: " + q);   int count = 1;for (int i = 0; i < docs.length; i++) {   Document doc = is.doc(docs[i].doc);   ; // ④ 得到匹配的文档   if(Integer.parseInt(doc.get("forum.id"))==1 && Integer.parseInt(doc.get("status"))==1){System.out.println("file: "+count+"_"+ doc.get("id")+"_" + doc.get("title")); count++;}}   }

转载于:https://my.oschina.net/888/blog/1176

Lucene2.4.0一般查询结果过滤与排行相关推荐

  1. Elasticsearch-05Elasticsearch之查询与过滤

    文章目录 官方API文档 准备数据 请求体查询 空查询 from 及 size 参数进行分页 结构化查询 查询子句 合并多子句 查询与过滤 查询语句与过滤语句的区别 Query DSL match_a ...

  2. elasticsearch in查询_Python Elasticsearch DSL 查询、过滤、聚合操作实例

    技术博客: https://github.com/yongxinz/tech-blog 同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来. Elasticsearch 基本概念 ...

  3. mysql 查询语句 过滤_MySQL全面瓦解7:查询的过滤条件

    概述 在实际的业务场景应用中,我们经常要根据业务条件获取并筛选出我们的目标数据.这个过程我们称之为数据查询的过滤.而过滤过程使用的各种条件(比如日期时间.用户.状态)是我们获取精准数据的必要步骤, 这 ...

  4. oracle 查的数据去重复数据,Oracle查询和过滤重复数据

    对数据库某些意外情况,引起的重复数据,如何处理呢? ----------------查重复: select * from satisfaction_survey s where s.as_side = ...

  5. 微服务项目之电商--19.ElasticSearch基本、高级查询和 过滤、结果过滤、 排序和聚合aggregations

    接上一篇 目录 3.查询 3.1.基本查询: 3.1.1 查询所有(match_all) 3.1.2 匹配查询(match) 3.1.3 多字段查询(multi_match) 3.1.4 词条匹配(t ...

  6. 【MySQL】5.0 数据查询

    数据查询 基本查询 条件查询 连接查询 内连接查询(INNER JOIN) 外连接查询(OUTER JOIN) 复合连接查询 高级应用 Limit Union GROPE BY ORDER BY DI ...

  7. mysql子查询设置_什么是mysql子查询?如何利用子查询进行过滤?

    子查询 MySQL 4.1引入了对子查询的支持,所以要想使用本章描述的SQL,必须使用MySQL 4.1或更高级的版本. SELECT语句 是SQL的查询.迄今为止我们所看到的所有 SELECT 语句 ...

  8. php怎么解决慢查询,【后端开辟】php-fpm7.0 慢查询设置及申明

    环境申明 root@ubuntu:/home/tb# cat /etc/issue Ubuntu 16.04.2 LTS \n \l root@ubuntu:/home/tb# php -v PHP ...

  9. 使用Hibernate的JPA 2.0标准查询

    JPA 2.0中引入了条件查询 . 借助条件查询,您可以以类型安全的方式编写查询. 在进行标准查询之前,开发人员必须通过构建基于对象的查询定义来编写查询. 构建查询时,可能会出现语法错误的情况. 条件 ...

  10. yii mysql 查询 类型转换_yii2.0数据库查询修改等方法

    yii2.0学习有一段时间了,给大家分享一下一些简单的查询等如何操作. 查询:(这里最前面的Test是引用的模型名) Test::find()->all();此方法返回所有数据: Test::f ...

最新文章

  1. H5 唤起 APP的解决方案
  2. 常用邮件客户端软件设置
  3. 数论相关:同余方程与同余方程组的解法
  4. Linux 命令 - jobs: 显示后台作业的状态信息
  5. xp文件夹怎么设置密码?压缩文件及Office文件加密方法
  6. 2021-4-1 多校省选模拟赛
  7. Flink常见流处理API
  8. 全国携号转网下月底实现 三大运营商狂推多种优惠套餐
  9. 圆柱属于能滚动的物体吗_小班科学领域详细教案:会滚动的物体
  10. QT错误:collect2:ld returned 1 exit status
  11. css制作序列帧动画
  12. 汇编:Debug的常用命令
  13. 做空机构为什么合法,股票做空机构gmt如何达成盈利目标
  14. PyQt5 基本语法(一):基类控件
  15. 每天学命令deleteRow
  16. 智慧灯杆(路灯)控制系统平台架构的主要设备有哪些?
  17. 汉诺塔系列问题: 汉诺塔II、汉诺塔III、汉诺塔IV、汉诺塔V、汉诺塔VI、汉诺塔VII
  18. 无图片CSS圆角的五个实例
  19. codeforces1000a csdn-博客
  20. 东方财富股吧标题爬取分析

热门文章

  1. function传值传字符串,然后Ajax url传值的时候传这个装字符串的变量
  2. Python版:实现双十一秒杀,防止超限
  3. Spring Bean生命周期-prepareRefresh(二)
  4. 第10章 接口、继承与多态----对象类型的转换
  5. angular学习疑问总结
  6. MySQL对分隔符的处理(一)
  7. 服务器接收到其他服务器传送的数据_其他-查找网内的其他DHCP服务器-从零开始学RouterOS系列21...
  8. python向数据库中添加参数_python往mysql数据库中写入数据和更新插入数据
  9. 古风素材无水印免费下载
  10. java 引用机制_Java编程开发之浅析Java引用机制