- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个这样的 solr 查询
q=categories:cat1 OR categories:cat2&stats=true&stats.field=count&stats.facet=block_num
基本上,我想按 block 数获取总和(计数)组。
此查询适用于浏览器。但是使用 solrj,我无法从 Response obj 访问统计字段。我可以做一个 response.getFieldStatsInfo()。但这不是我想要的。这是我构建查询的方式
SolrQuery query = new SolrQuery(q);
query.add("stats", "true");
query.add("stats.field", "count");
query.add("stats.facet", "block_num");
使用调试器,我可以看到响应有一个私有(private)的 statsInfo 对象,它有我正在寻找的信息。但是没有访问该对象的api。
我想知道有没有
谢谢!
最佳答案
可以这样做:
// Field names
private static final String FIELD_ONE = "field_one";
private static final String FIELD_TWO = "field_two";
// Initialized somewhere in constructor
private final HttpSolrServer solrClient;
public void printStats() throws SolrServerException {
final SolrQuery query = new SolrQuery("*:*");
query.setGetFieldStatistics(true);
query.setGetFieldStatistics(FIELD_ONE);
query.setGetFieldStatistics(FIELD_TWO);
final QueryResponse response = solrClient.query(query);
final FieldStatsInfo fieldOneStats = response.getFieldStatsInfo().get(FIELD_ONE);
System.out.println(fieldOneStats.getSum());
System.out.println(fieldOneStats.getMin());
System.out.println(fieldOneStats.getMax());
final FieldStatsInfo fieldTwoStats = response.getFieldStatsInfo().get(FIELD_TWO);
System.out.println(fieldTwoStats.getSum());
System.out.println(fieldTwoStats.getMin());
System.out.println(fieldTwoStats.getMax());
}
关于java - 如何使用 solrj 4.9.0 提取统计组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966570/
是否可以使用 SolrJ 客户端从某些 Core 检索所有存储的字段? 例如 谢谢,彼得 最佳答案 您可以使用特定核心的 SolrJ 客户端获取有关字段的信息。 使用以下代码片段进行检索。 i
是否可以使用 SolrJ 客户端从某些 Core 检索所有存储的字段? 例如 谢谢,彼得 最佳答案 您可以使用特定核心的 SolrJ 客户端获取有关字段的信息。 使用以下代码片段进行检索。 i
Exception in thread "main" org.apache.http.ParseException: Invalid content type: at org.apache.h
大家好, 我必须针对索引查询多个值(就像 IN (id1, id2, id3) sql 查询一样) 使用 SolrJ,换句话说,我想检索与一组值匹配的字段的文档。 由于 solrj api 有粗略的记
我的(网络)应用程序中有以下工作流程: 从存档下载 pdf 文件 索引文件 删除文件 我的问题是在索引文件后,它保持锁定状态,并且删除部分引发异常。 这是我用于索引文件的代码片段: try {
我正在使用 SolrJ API 向 Solr 4.3 核心添加文档,我注意到我在我使用的股票 solrconfig 中将自动提交设置为 15 秒,如下所示。 ${solr.autoCommi
我们正在使用 SolrJ 在 Solr 上构建一个包装器。 此包装器将允许客户端指定集合名称,然后使用 SolrJ 包装器与该集合交互以进行插入/更新/查询。 我已经能够执行插入/更新/查询操作,但无
我有一个 solr 模式,其中包含不同类型的动态字段。例如,在 schema.xml 中有: 我想使用 SolrJ 注释的 POJO 访问这些字段。我知道我可以为 POJO 中的每种数据类型
我正在尝试使用 TermsComponent使用 Solrj 实现自动建议,但我不知道如何指定路径(即 /terms 的 http://localhost:8983/solr/terms 部分)。 如
我在 Solr 4.0 中有一些文件.我希望首先显示最相关的记录,然后显示不太相关的记录。 例如,我有 3 个文件,标题如下 - 收入分配政策 收入分配与经济政策 发展中国家的收入分配政策 现在,当我
Solr 4 测试版已经发布,GA 版本即将推出。如此处所述,部分文档更新已存在一段时间:http://solr.pl/en/2012/07/09/solr-4-0-partial-documents
如何使用 SolrJ 按日期请求? 我得到一个格式为'01/10/2014'的日期作为参数。然后我将此格式转换为 Date 对象,并将该对象转换为 UTC 格式。这是我正在做的事情的代码示例: pub
每当我在 Solr 上执行查询时,即使是最简单的查询 *:*,我也会收到错误消息 Exception in thread "main" org.apache.solr.client.solrj.Sol
我正在运行以下程序。主线程正常运行和终止,但程序继续运行,因为有一个名为 pool-1-thread-1 的线程,该线程永远不会终止。谁能建议代码有什么问题吗?配置文件均在 Solr 标准发行版中提供
我有以下 solrj 查询: HttpSolrClient solr = new HttpSolrClient.Builder("http://10.xx.xxx.xxx:8983/solr"
我正在使用 Solrj 的原子更新。它工作得很好,但我不知道如何删除现有文档中的字段。 在 Solr 教程 ( http://wiki.apache.org/solr/UpdateXmlMessage
我在 Web 应用程序中使用 CommonsHttpSolrServer。在多个请求中重用 CommonsHttpSolrServer 是否安全,还是应该为每个请求实例化一个新对象?无法在 API 文
我正在使用 solrj 从 solr 安装执行查询搜索。 这就是我所拥有的: public List search(String query, int first, int rows) { L
我有一个“查询字符串”格式的 SOLR 查询 q=*&fq=myfilters&... 有没有办法从中构建 SolrQuery? 我看到有ClientUtils.toQueryString存在,基本上
我在我的 Web 应用程序中使用 Solr 作为搜索引擎。我使用 DataImportHandler 自动将数据从我的数据库导入到搜索索引中。当 DataImportHandler 添加新数据时,数据
我是一名优秀的程序员,十分优秀!