Lucene BooleanQuery 嵌套使用
来源:互联网 发布:诺基亚7230软件下载 编辑:程序博客网 时间:2024/06/13 10:13
public long getSearchCount(String keyword, String webFlag) { TopScoreDocCollector f = TopScoreDocCollector.create(5000, false); IndexSearcher isearcher = getSearcher(); Analyzer analyzer = null; QueryParser queryParser = null; Query query; try { if (!"website".equals(webFlag)) { // 在索引目录中查询的字段 String[] fields = { "BOOK_NAME", "BOOK_DES", "BOOK_PEN_NAME", "BOOK_STATUS" }; List list = new ArrayList(); analyzer = getAnalyzer(); queryParser = new MultiFieldQueryParser(version, fields, analyzer); query = queryParser.parse(keyword); } else { query = new BooleanQuery(); BooleanQuery bquery1 = new BooleanQuery(); TermQuery tQuery1 = new TermQuery(new Term("BOOK_NAME", keyword)); TermQuery tQuery2 = new TermQuery(new Term("BOOK_DES", keyword)); TermQuery tQuery3 = new TermQuery(new Term("BOOK_PEN_NAME", keyword)); TermQuery tQuery4 = new TermQuery(new Term("BOOK_STATUS", "12")); TermQuery tQuery5 = new TermQuery(new Term("BOOK_ONSALE_IDE", "true")); bquery1.add(tQuery1, BooleanClause.Occur.SHOULD); bquery1.add(tQuery2, BooleanClause.Occur.SHOULD); bquery1.add(tQuery3, BooleanClause.Occur.SHOULD); //查询条件通过BooleanQuery 嵌套使用。。 ((BooleanQuery) query).add(bquery1, BooleanClause.Occur.MUST);**重点内容** ((BooleanQuery) query).add(tQuery4, BooleanClause.Occur.MUST); ((BooleanQuery) query).add(tQuery5, BooleanClause.Occur.MUST); } isearcher.search(query, f); } catch (Exception e) { e.printStackTrace(); } TopDocs topDocs = f.topDocs(0, 5000); ScoreDoc[] hits = topDocs.scoreDocs; return hits.length;}**重点内容**
阅读全文
1 0
- Lucene BooleanQuery 嵌套使用
- lucene-booleanquery组合查询
- lucene的BooleanQuery
- Lucene 4.7 BooleanQuery学习
- Lucene BooleanQuery实现
- Lucene 6.0中BooleanQuery
- lucene精解-BooleanQuery、RangeQuery及rewrite
- Lucene中BooleanQuery的MUST和MUST_NOT
- Lucene 4.4利用BooleanQuery组合多个Query搜索
- lucene利用BooleanQuery进行多个Query组合查询
- lucene查询之 多条件查询 BooleanQuery 可以组合查询条件。及代码示例
- BooleanQuery学习
- booleanQuery 逻辑
- lucene使用
- Lucene-使用
- BooleanQuery的分析
- BooleanQuery组合查询
- Query及其子类booleanquery
- iOS 常用浮点数精度计算、取舍、四舍五入
- 欢迎使用CSDN-markdown编辑器
- [网络]插入移动卡和非移动卡,非移动卡为主卡时无信号
- juc 2
- DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)
- Lucene BooleanQuery 嵌套使用
- rem单位介绍
- Android studio Android集成百度身份证识别 详细步骤
- Javaweb简单博客系统-----(一)ssm框架搭建
- react native 密码控件 封装
- Qt5.5.0编译QtAV
- WebPack 简明学习教程
- 单周期CPU设计
- loadrunner——Web Tours的正确打开姿势