Lucene里面有关于Filter的整体知识

下面,我们来看下具体的在代码里怎么实现,先来看下我们的测试数据

Java代码   
  1. id      score       bookname    ename       type            price       date
  2. 1       1       飘渺之旅        pmzl        小说      52.23       201005
  3. 2       1       三国演义        sgyy        小说      36.13       201207
  4. 3       1       数据库实战       sjksz       技术      77.13       200811
  5. 4       1       编程宝典        bcbd        技术      100.3       200501
  6. 5       1       职场关系论       zcgxl       职场      36.59       200501
  7. 6       1       健康生活        jksh        生活      20.47       200008
  8. 7       1       看清本质        kqbz        社会      10.37       201004
  9. 8       1       编程,编程       bcbc        社会      10.37       201004

核心代码

Java代码   
  1. //使用过滤器   最后一个为true时包含边界部分,为false时不包含边界部分
  2. //倒数第二个为true时,包含查询边界,为false时不包含
  3. TermRangeFilter filter=new TermRangeFilter("ename", new BytesRef("h"), new BytesRef("n"), true, true);
  4. TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式

输出结果

Java代码   
  1. 6       1       健康生活        jksh        生活      20.47       200008
  2. 7       1       看清本质        kqbz        社会      10.37       201004

核心代码

Java代码   
  1. NumericRangeFilter<Double> filter=NumericRangeFilter.newDoubleRange("price", 10D, 40D, true, false);
  2. TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式

输出结果

Java代码   
  1. 2       1       三国演义        sgyy        小说      36.13       201207
  2. 5       1       职场关系论       zcgxl       职场      36.59       200501
  3. 6       1       健康生活        jksh        生活      20.47       200008
  4. 7       1       看清本质        kqbz        社会      10.37       201004
  5. 8       1       编程,编程       bcbc        社会      10.37       201004

核心代码

Java代码   
  1. //使用缓存过滤
  2. Filter filter=FieldCacheRangeFilter.newDoubleRange("price", 20D, 50D, true, true);
  3. TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式

输出结果

Java代码   
  1. 2       1       三国演义        sgyy        小说      36.13       201207
  2. 5       1       职场关系论       zcgxl       职场      36.59       200501
  3. 6       1       健康生活        jksh        生活      20.47       200008

 

转载于:https://www.cnblogs.com/bonelee/p/8409075.html

lucene 范围过滤相关推荐

  1. ElasticSearch知识汇总

    文章目录 一.简介 二.ES对比Solr 三.基本概念 1.索引(Index) 2.类型(Type) 3.文档(Document) 4.倒排索引(Inverted Index) 5. 节点(Node) ...

  2. 【Java】Lucene检索引擎详解

    基于Java的全文索引/检索引擎--Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能. L ...

  3. Solr和lucene

    1. Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中.Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式 ...

  4. lucene查询语法,适用于ELk:kibana查询

    lucene查询语法,适用于ELk:kibana查询 Kibana在ELK中扮演着数据可视化角色,用来查询及展示数据: Elasticsearch查询采用的是luncene搜索引擎,其4过滤查询语法和 ...

  5. 深度解析 Lucene 轻量级全文索引实现原理

    作者:vivo互联网服务器团队-Qian Yulun 一.Lucene简介 1.1 Lucene是什么? Lucene是Apache基金会jakarta项目组的一个子项目: Lucene是一个开放源码 ...

  6. 使用Lucene.Net实现全文检索

    目录 一 Lucene.Net概述 二 分词 三 索引 四 搜索 五 实践中的问题 一 Lucene.Net概述 Lucene.Net是一个C#开发的开源全文索引库,其源码包括"核心&quo ...

  7. 【手把手教你全文检索】Apache Lucene初探

    讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏. 其次 ...

  8. Lucene入门的基本知识(四)

    刚才在写创建索引和搜索类的时候发现非常多类的概念还不是非常清楚,这里我总结了一下. 1 lucene简单介绍 1.1 什么是lucene  Lucene是一个全文搜索框架,而不是应用产品.因此它并不像 ...

  9. (转)Lucene.NET 使用

    本文转载自:http://www.cnblogs.com/ejiyuan/archive/2007/10/11/920252.html 本文仅记录一些简单的使用方法,供初学者参考. 以下例子采用 Lu ...

最新文章

  1. 程序猿必备的10款web前端开发插件一
  2. C语言入门(4)——常量、变量与赋值
  3. C/C++:uint64_t 转为char*
  4. mpp文件转换excel_原来只要按下这个键,Word、PDF、PPT、Excel文件随你互相转换
  5. [luoguP2463] [SDOI2008]Sandy的卡片(后缀数组 + st表)
  6. 呵呵呵,一周这么来也不错
  7. 树立榜样、褒奖开源领域领袖人物、杰出贡献人物
  8. Android 7 soter,开通微信人脸支付 OPPO Find X 成首发安卓手机
  9. 单片机TTL电平软件模拟串口通讯
  10. 14款开源或免费的GIS软件
  11. 5个最佳开源环境电子邮件客户端
  12. Big Sur系统下的mac重置
  13. Java实战干货分享
  14. QTableWidget中如何清空行,并保持行仍可再写入数据
  15. 30天自制操作系统 杂谈6
  16. 【SG建模同步】基于system generator的QAM载波同步和时间同步FPGA建模
  17. linux usb驱动样例,Linux 2.6字符设备驱动程序样例
  18. 原型工具 Axure 都有哪些好用的技巧
  19. wget安装MySQL(5.6和5.7超详细版)
  20. QQ靓号申请器v1.1.0.0【已更新】

热门文章

  1. Nginx之简介与安装(一)
  2. SOA、SOAP、RPC、REST、DUBBO的区别与联系
  3. python logging
  4. cmd做个定时弹窗_揭秘200元山寨苹果耳机!一颗耳边的“定时炸弹”...
  5. 浏览器加载本地html页面,在浏览器字段中加载本地HTML文件时是否显示白屏?
  6. java override格式_Lambda表达式告别@override
  7. 凭借这份Java面试题集,分布式宝典:限流+缓存+通讯
  8. 【响应式Web前端设计】css如何设置边框的圆角样式?border-radius属性设置圆角样式(图 文)
  9. 【响应式Web前端设计】HTML DOM padding 属性
  10. python之组合数据类型