solrj getCountDistinct() return 空?

solrj getCountDistinct() return null?

我正在尝试使用以下代码获取字段的唯一值:

query.set("q","*:*" );
query.setGetFieldStatistics(true);
query.setGetFieldStatistics("popu_s");

QueryResponse rsp = solr.query(query);

FieldStatsInfo stats = rsp.getFieldStatsInfo().get("popu_s"); 
System.out.println(stats.getCount());
System.out.println(stats.getCountDistinct());

stats.getCount() 给出了正确的计数。但是,stats.getCountDistinct() 总是 returns null。 有什么想法吗?

FieldStatsInfo 中的

getCountDistinct() 为空,因为在创建 FieldStatsInfo 对象时未提供它(从 solr.query(query) 返回的内容)。

不保证此 pojo 中的任何字段都已填充。

作为替代方法,请尝试使用 stats.getCardinality(),但同样不能保证它已填充。

找到解决方案! 要使 getCountDistinct() return 成为一个值,需要添加此

   query.addStatsFieldCalcDistinct("popu_s", true);