lucene多个filter怎么同时过滤?
答案:2 悬赏:30
解决时间 2021-12-21 18:42
- 提问者网友:先森请一心
- 2021-12-21 09:41
lucene 多个 filter 怎么同时过滤? 比如搜索之后同时过滤 性别 ‘男’ 年龄 大于18的
最佳答案
- 二级知识专家网友:抱不住太阳的深海
- 2021-12-21 09:49
BooleanQuery booleanQuery = new BooleanQuery();
booleanQuery.add(new BooleanClause(NumericRangeQuery.newIntRange("age", 18, Integer.MAX_VALUE, true, true), BooleanClause.Occur.MUST));
booleanQuery.add(new BooleanClause(new TermQuery(new Term("sex", "男")), BooleanClause.Occur.MUST));
Filter filter = new QueryWrapperFilter(booleanQuery);
searcher.search(query, filter, 20);
//用的是lucene 4.10.3
booleanQuery.add(new BooleanClause(NumericRangeQuery.newIntRange("age", 18, Integer.MAX_VALUE, true, true), BooleanClause.Occur.MUST));
booleanQuery.add(new BooleanClause(new TermQuery(new Term("sex", "男")), BooleanClause.Occur.MUST));
Filter filter = new QueryWrapperFilter(booleanQuery);
searcher.search(query, filter, 20);
//用的是lucene 4.10.3
全部回答
- 1楼网友:年轻没有失败
- 2021-12-21 10:46
可以私聊我~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯