Lucene使用Filter搜索过滤
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搜索过滤相关推荐
- 2021年大数据ELK(四):Lucene的美文搜索案例
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 美文搜索案例 一.需求 二.准备工作 1.创建IDEA项目 2. ...
- wireshare capture filter捕捉过滤的设置
我们在使用wireshark去抓取协议log的时候,经常碰到抓到的log过大,而很难打开的想象.特别是对于测试时间久的case, log size几个G,甚至十几,几十个G的情况,对于这种情况,有两种 ...
- 基于 Lucene 的桌面文件搜索
开源2010年,自己在学习 Lucene 时开发的一款桌面文件搜索工具,这么多年过去了,代码一直静静存放在自己的硬盘上,与其让其沉睡,不如分享出来. 这款工具带有明显的模仿 Everything 的痕 ...
- Guava中针对集合的 filter和过滤功能
Guava中针对集合的 filter和过滤功能 博客分类: JAVA相关 在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子: Java代码 ...
- fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/
fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤) Fiddler 有一个filters可以很好的帮助我们只显示我们关系的请求或 ...
- 如何用Lucene实现实时搜索--Tripod
网上有不少关于如何使用lucene完成实时搜索功能的文章.鉴于lucene的实现机制,绝大多数解决办法都是采用一定频率访问lucene索引,发现变更,然后搜索数据,返回结果.这种办法只能达到准实时效果 ...
- es6 filter() 数组过滤方法总结
Array.every(x=>x)是每一个都要满足 Array.some(x=>x)是有一个满足. Array.find(findIndex),返回符合条件的第一个值. Array.fil ...
- Elasticearch Filter Query 过滤查询--(五)
Elasticearch Filter Query 过滤查询 1,过滤查询 ES查询操作分为2种:查询(query)和 过滤(filter). 1. Query,默认计算每个返回文档的得分,然后根据得 ...
- 电脑商情报LUCENE.CN中文搜索CLUB聚会
电脑商情报LUCENE.CN中文搜索CLUB聚会 替葛帅宣传一下: 看看下面的名单吧, 名家大腕,应声云集.搜索爱好者的确需要定期来这样一的聚会啊 lucene.cn与电脑商情报联合举办搜索引擎技术网 ...
- java全文搜索服务器 solr_Apache Solr采用Java开发、基于Lucene的全文搜索服务器
http://docs.spring.io/spring-data/solr/ 首先介绍一下solr: Apache Solr (读音: SOLer) 是一个开源.高性能.采用Java开发.基于Luc ...
最新文章
- FuzzyCMeans算法
- 不懂装饰器,就不是真正会 Python
- Linux流量监控工具 - iftop用法
- mysql 实体关系表_实体关系图
- Android之自定义checkbox并解决内容和复选框之间的具体问题
- WORD如何插入域编号?
- 数学建模算法与应用学习day4——综合评价与决策方法
- ▶GODOT 101
- python jinja2_Python jinja2
- 一本通 3.1 例 1」黑暗城堡
- 插件小王子的插件源码汇总
- 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述调用方法!
- Fruit Ripeness论文、代码和数据集汇总
- C语言学习日记(3)——printf函数
- 【智能优化算法-倭黑猩猩算法】基于倭黑猩猩优化算法求解多目标优化问题附matlab代码
- rop检查_糖尿病还要检查眼底,必须的!
- 计算机入门知识介绍、相关原理及软硬件概述
- 成功解决:UI验收模板,附:WEB/APP测试的通用用例
- echarts的x时间轴显示的月份是英文缩写
- 云的始祖概念,认识Linux瘦客户机
热门文章
- CSS里 @import用法
- Xcode中导入文件报错
- php.ini_中文详解
- Mysql 的ERROR 1005 (HY000): Can't create table 'xxx' (errno: 150)
- 使用javascript的“委托”实现attachEvent
- Luogu1091 合唱队形
- CF1042C Array Product
- [线筛五连]线筛约数和
- 利用before伪元素创建图标
- Ajax学习笔记-get请求参数-4