lucene 范围过滤
Lucene里面有关于Filter的整体知识
下面,我们来看下具体的在代码里怎么实现,先来看下我们的测试数据
- id score bookname ename type price date
- 1 1 飘渺之旅 pmzl 小说 52.23 201005
- 2 1 三国演义 sgyy 小说 36.13 201207
- 3 1 数据库实战 sjksz 技术 77.13 200811
- 4 1 编程宝典 bcbd 技术 100.3 200501
- 5 1 职场关系论 zcgxl 职场 36.59 200501
- 6 1 健康生活 jksh 生活 20.47 200008
- 7 1 看清本质 kqbz 社会 10.37 201004
- 8 1 编程,编程 bcbc 社会 10.37 201004
核心代码
- //使用过滤器 最后一个为true时包含边界部分,为false时不包含边界部分
- //倒数第二个为true时,包含查询边界,为false时不包含
- TermRangeFilter filter=new TermRangeFilter("ename", new BytesRef("h"), new BytesRef("n"), true, true);
- TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式
输出结果
- 6 1 健康生活 jksh 生活 20.47 200008
- 7 1 看清本质 kqbz 社会 10.37 201004
核心代码
- NumericRangeFilter<Double> filter=NumericRangeFilter.newDoubleRange("price", 10D, 40D, true, false);
- TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式
输出结果
- 2 1 三国演义 sgyy 小说 36.13 201207
- 5 1 职场关系论 zcgxl 职场 36.59 200501
- 6 1 健康生活 jksh 生活 20.47 200008
- 7 1 看清本质 kqbz 社会 10.37 201004
- 8 1 编程,编程 bcbc 社会 10.37 201004
核心代码
- //使用缓存过滤
- Filter filter=FieldCacheRangeFilter.newDoubleRange("price", 20D, 50D, true, true);
- TopDocs topDocs=searcher.search(new MatchAllDocsQuery(),filter,10000);//默认无排序方式
输出结果
- 2 1 三国演义 sgyy 小说 36.13 201207
- 5 1 职场关系论 zcgxl 职场 36.59 200501
- 6 1 健康生活 jksh 生活 20.47 200008
lucene 范围过滤的更多相关文章
- lucene 过滤结果
package cn.itcast.h_filter; import java.util.ArrayList; import java.util.List; import org.apache.luc ...
- 【lucene系列学习四】使用IKAnalyzer分词器实现敏感词和停用词过滤
Lucene自带的中文分词器SmartChineseAnalyzer不太好扩展,于是我用了IKAnalyzer来进行敏感词和停用词的过滤. 首先,下载IKAnalyzer,我下载了 然后,由于IKAn ...
- lucene整理3 -- 排序、过滤、分词器
1. 排序 1.1. Sort类 public Sort() public Sort(String field) public Sort(String field,Boolean reverse ...
- lucene查询索引库、分页、过滤、排序、高亮
2.查询索引库 插入测试数据 xx.xx. index. ArticleIndex @Test public void testCreateIndexBatch() throws Exception{ ...
- lucene自定义过滤器
先介绍下查询与过滤的区别和联系,其实查询(各种Query)和过滤(各种Filter)之间非常相似,可以这样说只要用Query能完成的事,用过滤也都可以完成,它们之间可以相互转换,最大的区别就是使用过滤 ...
- MySQL和Lucene索引对比分析
MySQL和Lucene都可以对数据构建索引并通过索引查询数据,一个是关系型数据库,一个是构建搜索引擎(Solr.ElasticSearch)的核心类库.两者的索引(index)有什么区别呢?以前写过 ...
- Lucene系列-FieldCache
域缓存,加载所有文档中某个特定域的值到内存,便于随机存取该域值. 用途及使用场景 当用户需要访问各文档中某个域的值时,IndexSearcher.doc(docId)获得Document的所有域值,但 ...
- Apache Lucene(全文检索引擎)—分词器
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...
- Apache Lucene(全文检索引擎)—搜索
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...
随机推荐
- Json解析与Gson解析
本文主要介绍json最原始的解析与google提供的gson工具类解析 ①json解析 /** * 普通的json解析 * @param s * @throws JSONException */ pr ...
- ORA-02068,ORA-03135错误解决方法
今天查看了下ERP DB服务器 alter_<SID>.log日志,发现有个错误 Sat Sep 14 14:49:42 CST 2013 Error 2068 trapped in 2P ...
- Lazarus 1.6 增加了新的窗体编辑器——Sparta_DockedFormEditor.ipk
一下是该控件官网的介绍 "Hello A package for a docked form editor can be found in : components/sparta/docke ...
- pycharm执行代码可以跑,但放到linux跑就报文件找不到
代码中包含当前路径 使用pycharm执行python,当前路径就是pycharm项目所在的路径,所以不会报错 但使用shell执行python,当前路径就会从shell所在的路径去找文件,所以找不到 ...
- PAT_A1066#Root of AVL Tree
Source: PAT A1066 Root of AVL Tree (25 分) Description: An AVL tree is a self-balancing binary search ...
- Eclipse安装和使用TFS
第一步下载Tfs插件 去微软官网下载https://www.microsoft.com/en-us/download/details.aspx?id=4240 点击 选择下载 随便放置到一个本地或者服 ...
- kernel-常见参数或宏
kernel-常见参数或宏 get_online_cpus get_online_cpus(); get_online_mems(); kstrdup_const 分配内存 cache_name = ...
- POJ——3169Layout(差分约束)
POJ——3169Layout Layout Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14702 Accepted ...
- [HDU5807] Keep In Touch
\(Keep\ In\ Touch\):保持联络 \(Informatik\ verbindet\ dich\ und\ mich.\) 信息将你我连结? 发现这个方程很容易列出来. \(f[i][j ...
- Mysql数据库操作(二)
存储过程 1.创建过程 delimiter // create procedure p1() BEGIN select * from t1; END// delimiter; --执行存储过程 cal ...