Lucene使用Filter搜索过滤
来源:互联网 发布:知乎一小时系列资源 编辑:程序博客网 时间:2024/06/03 14:11
/**
* 排序查询
*
* @param querystr
* 查找匹配的字符串
* @param domain
* 查找内容的域
* @param filter
* 过滤器
*/
public void SearchByFilter(String querystr, String domain, Filter filter) {
TopDocs docs = null;
IndexSearcher searcher = this.getSearcher();
try {
QueryParser parser = new QueryParser(Version.LUCENE_35, domain,
new StandardAnalyzer(Version.LUCENE_35));
Query query = parser.parse(querystr);
if (filter == null) {
docs = searcher.search(query, 150);
} else {
docs = searcher.search(query,filter,150);
}
// 输出信息
ScoreDoc[] sds = docs.scoreDocs;
Document d = null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for (ScoreDoc s : sds) {
d = searcher.doc(s.doc);
System.out.println(s.doc+"->"
+s.score+"->"
+d.get("filename")+"->"
+d.get("size")+"->"
+sdf.format(new Date(Long.valueOf(d.get("date")))));
}
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
* 排序查询
*
* @param querystr
* 查找匹配的字符串
* @param domain
* 查找内容的域
* @param filter
* 过滤器
*/
public void SearchByFilter(String querystr, String domain, Filter filter) {
TopDocs docs = null;
IndexSearcher searcher = this.getSearcher();
try {
QueryParser parser = new QueryParser(Version.LUCENE_35, domain,
new StandardAnalyzer(Version.LUCENE_35));
Query query = parser.parse(querystr);
if (filter == null) {
docs = searcher.search(query, 150);
} else {
docs = searcher.search(query,filter,150);
}
// 输出信息
ScoreDoc[] sds = docs.scoreDocs;
Document d = null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
for (ScoreDoc s : sds) {
d = searcher.doc(s.doc);
System.out.println(s.doc+"->"
+s.score+"->"
+d.get("filename")+"->"
+d.get("size")+"->"
+sdf.format(new Date(Long.valueOf(d.get("date")))));
}
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
##############################
@Test
public void testFilterSearch(){
Filter filter=null;
//使用TermRangeFilter进行范围过滤搜索
//1.域 2.起始位置 3.结束位置 4.是否包含起始位置 5.是否包含结束位置
filter=new TermRangeFilter("filename","chs.a","chs.txt",true,true);
//使用NumericRangeFilter进行过滤
filter=NumericRangeFilter.newIntRange("size", 10, 5000, true, true);
//使用QueryWrapperFilter进行过滤
filter=new QueryWrapperFilter(new WildcardQuery(new Term("filename", "*.ini")));
su.SearchByFilter("中国", "content", filter);
}
- Lucene使用Filter搜索过滤
- lucene搜索中filter的使用
- lucene-搜索过滤
- lucene搜索方式+过滤
- 使用filter过滤请求
- 使用filter过滤请求
- 使用filter过滤请求
- 使用filter过滤xss攻击
- 使用filter过滤xss攻击
- 使用filter过滤特定资源
- 使用filter过滤xss攻击
- 使用filter过滤xss攻击
- [lucene]使用lucene建立网站搜索服务
- 使用 Apache Lucene 搜索文本
- 使用 Apache Lucene 搜索文本
- 使用 Apache Lucene 搜索文本
- 使用 Apache Lucene 搜索文本
- Lucene 4.4 使用通配符搜索
- 未来在哪里
- 一枕落花香
- Python 代码性能优化技巧
- org.hibernate.hql.ast.QuerySyntaxException: is not mapped 异常总结 .
- MYSQL增加用户 并管理特定表
- Lucene使用Filter搜索过滤
- DBUtil 查询(2 有参数)
- 时间管理
- 获得父窗体对象
- java 对象序列化
- Lucene自定义排序
- 笔记本不同CPU性能对比,为你购买笔记本选择做参考
- linux c 文件读取操作一
- KTween补间引擎的应用入门