关于Lucene分组查询后的排序
来源:互联网 发布:天气软件手机版 编辑:程序博客网 时间:2024/05/20 16:13
int total = 0; if (groupField != null) { RAMDirectory ramDirectory = new RAMDirectory(); IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_32, getAnalyzer()); IndexWriter writer = new IndexWriter(ramDirectory, indexWriterConfig); // 如果分组结果,使用分组控制器对结果分组 GroupingCollector groupingCollector = new GroupingCollector(sortField, desc, groupField); searcher.search(query, groupingCollector); List<Document> s_documents = groupingCollector.getDocuments(); writer.addDocuments(s_documents); writer.optimize(); writer.close(); searcher = new IndexSearcher(ramDirectory); } // 如果不分组,直接对查询结果进行返回 TopDocs topFieldDocs = null; if (!"".equals(Util.strNull(sortField))) { int type = SortField.INT; if (sortField.endsWith("date")) { type = SortField.LONG; } else if (sortField.startsWith("nprice")) { type = SortField.DOUBLE; } topFieldDocs = searcher.search(query, end, new Sort(new SortField(sortField, type, desc))); } else { topFieldDocs = searcher.search(query, end, new Sort(SortField.FIELD_SCORE)); } total = topFieldDocs.totalHits;
烂掉一塌糊涂 ,不在解释!~
- 关于Lucene分组查询后的排序
- Mysql 分组后排序- 查询每一个类别的前N
- 关于ORACLE 分组后排序 取前几名的…
- lucene 分组统计查询
- Lucene 的查询方式|排序
- 关于mysql 先排序 后分组
- 关于lucene.net的查询
- mysql 先排序后分组再排序查询数据
- lucene创建索引,分组查询
- oracle或mysql分组查询并且获取前3条排序后的数据
- Oracle分组查询取每组排序后的前N条记录
- 关于group by查询得到分组后每组的最小值的记录
- LINQ 的查询_联表、分组、排序
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- 关于分组后字段拼接的问题
- lucene 查询+分页+排序
- 分组查询与排序
- mysql分组排序查询
- 【个人专题一】强连通——Poj_1236
- 驱动程序内存分配
- 一个22表连查的SQL
- zoj 1005 Jugs
- 在对话框上设计一个三角形的按钮
- 关于Lucene分组查询后的排序
- Java中二进制和十进制整数之间相互转换的思考
- 匿名内部类
- SIGCHLD和waitpid的使用
- 实现漂亮按钮提交,响应Enter键
- 公司绝对不会告诉你的20个潜规则
- 开始向Java过渡
- SQLSERVER服务器配置
- spring,web.xml中的OpenSessionInViewFilter 配置