1     /**
 2      * 排序查询
 3      *
 4      * @param querystr
 5      *            查找匹配的字符串
 6      * @param domain
 7      *            查找内容的域
 8      * @param filter
 9      *            过滤器
10      */
11     public void SearchByFilter(String querystr, String domain, Filter filter) {
12         TopDocs docs = null;
13         IndexSearcher searcher = this.getSearcher();
14         try {
15             QueryParser parser = new QueryParser(Version.LUCENE_35, domain,
16                     new StandardAnalyzer(Version.LUCENE_35));
17             Query query = parser.parse(querystr);
18             if (filter == null) {
19                 docs = searcher.search(query, 150);
20             } else {
21                 docs = searcher.search(query,filter,150);
22             }
23
24             // 输出信息
25             ScoreDoc[] sds = docs.scoreDocs;
26             Document d = null;
27             SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
28             for (ScoreDoc s : sds) {
29                 d = searcher.doc(s.doc);
30                 System.out.println(s.doc+"->"
31                                     +s.score+"->"
32                                     +d.get("filename")+"->"
33                                     +d.get("size")+"->"
34                                     +sdf.format(new Date(Long.valueOf(d.get("date")))));
35             }
36
37         } catch (ParseException e) {
38             e.printStackTrace();
39         } catch (IOException e) {
40             e.printStackTrace();
41         }
42     }
43     

 1     @Test
 2     public void testFilterSearch(){
 3
 4         Filter filter=null;
 5         //使用TermRangeFilter进行范围过滤搜索
 6         //1.域   2.起始位置  3.结束位置   4.是否包含起始位置    5.是否包含结束位置
 7         filter=new TermRangeFilter("filename","chs.a","chs.txt",true,true);
 8         //使用NumericRangeFilter进行过滤
 9         filter=NumericRangeFilter.newIntRange("size", 10, 5000, true, true);
10         //使用QueryWrapperFilter进行过滤
11         filter=new QueryWrapperFilter(new WildcardQuery(new Term("filename", "*.ini")));
12         su.SearchByFilter("中国", "content", filter);
13     }

转载于:https://www.cnblogs.com/Laupaul/archive/2012/04/22/2464953.html

Lucene使用Filter搜索过滤相关推荐

  1. 2021年大数据ELK(四):Lucene的美文搜索案例

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 美文搜索案例 一.需求 二.准备工作 1.创建IDEA项目 2. ...

  2. wireshare capture filter捕捉过滤的设置

    我们在使用wireshark去抓取协议log的时候,经常碰到抓到的log过大,而很难打开的想象.特别是对于测试时间久的case, log size几个G,甚至十几,几十个G的情况,对于这种情况,有两种 ...

  3. 基于 Lucene 的桌面文件搜索

    开源2010年,自己在学习 Lucene 时开发的一款桌面文件搜索工具,这么多年过去了,代码一直静静存放在自己的硬盘上,与其让其沉睡,不如分享出来. 这款工具带有明显的模仿 Everything 的痕 ...

  4. Guava中针对集合的 filter和过滤功能

    Guava中针对集合的 filter和过滤功能 博客分类:  JAVA相关 在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子: Java代码   ...

  5. fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/

    fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...

  6. 如何用Lucene实现实时搜索--Tripod

    网上有不少关于如何使用lucene完成实时搜索功能的文章.鉴于lucene的实现机制,绝大多数解决办法都是采用一定频率访问lucene索引,发现变更,然后搜索数据,返回结果.这种办法只能达到准实时效果 ...

  7. es6 filter() 数组过滤方法总结

    Array.every(x=>x)是每一个都要满足 Array.some(x=>x)是有一个满足. Array.find(findIndex),返回符合条件的第一个值. Array.fil ...

  8. Elasticearch Filter Query 过滤查询--(五)

    Elasticearch Filter Query 过滤查询 1,过滤查询 ES查询操作分为2种:查询(query)和 过滤(filter). 1. Query,默认计算每个返回文档的得分,然后根据得 ...

  9. 电脑商情报LUCENE.CN中文搜索CLUB聚会

    电脑商情报LUCENE.CN中文搜索CLUB聚会 替葛帅宣传一下: 看看下面的名单吧, 名家大腕,应声云集.搜索爱好者的确需要定期来这样一的聚会啊 lucene.cn与电脑商情报联合举办搜索引擎技术网 ...

  10. java全文搜索服务器 solr_Apache Solr采用Java开发、基于Lucene的全文搜索服务器

    http://docs.spring.io/spring-data/solr/ 首先介绍一下solr: Apache Solr (读音: SOLer) 是一个开源.高性能.采用Java开发.基于Luc ...

最新文章

  1. FuzzyCMeans算法
  2. 不懂装饰器,就不是真正会 Python
  3. Linux流量监控工具 - iftop用法
  4. mysql 实体关系表_实体关系图
  5. Android之自定义checkbox并解决内容和复选框之间的具体问题
  6. WORD如何插入域编号?
  7. 数学建模算法与应用学习day4——综合评价与决策方法
  8. ▶GODOT 101
  9. python jinja2_Python jinja2
  10. 一本通 3.1 例 1」黑暗城堡
  11. 插件小王子的插件源码汇总
  12. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述调用方法!
  13. Fruit Ripeness论文、代码和数据集汇总
  14. C语言学习日记(3)——printf函数
  15. 【智能优化算法-倭黑猩猩算法】基于倭黑猩猩优化算法求解多目标优化问题附matlab代码
  16. rop检查_糖尿病还要检查眼底,必须的!
  17. 计算机入门知识介绍、相关原理及软硬件概述
  18. 成功解决:UI验收模板,附:WEB/APP测试的通用用例
  19. echarts的x时间轴显示的月份是英文缩写
  20. 云的始祖概念,认识Linux瘦客户机

热门文章

  1. CSS里 @import用法
  2. Xcode中导入文件报错
  3. php.ini_中文详解
  4. Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
  5. 使用javascript的“委托”实现attachEvent
  6. Luogu1091 合唱队形
  7. CF1042C Array Product
  8. [线筛五连]线筛约数和
  9. 利用before伪元素创建图标
  10. Ajax学习笔记-get请求参数-4