solr count group by

时间:2016-09-26 08:01:52

标签: solr solarium solr6

我想"转换" solr命令中的SQL查询。

我有2个SQL表"工作"和"公司"。

今天要计算一家公司发布的职位数量,我运行这个查询:

select c.id, count(j.id) 
from companies c
left join jobs j on j.client_id = c.id
group by c.id;

另一方面,我有2个收藏品和#34;工作"和"公司"有相同的领域。

我如何"转换" solr中的以下查询?

我看到可以与父系列建立联系,但我不想在工作和公司之间创建一个层次结构(它没有意义)。

1 个答案:

答案 0 :(得分:0)

您无法实现查询的直接版本,因为Solr不会以您希望的方式进行连接。一个可能的解决方案是facet on client_id in jobs,因此您可以获得每个公司ID的计数,然后在显示每个公司的计数时查找该结果的值(如果您确实需要左连接部分)。如果数据中没有client_id,则其计数为0. facet=true&facet.field=client_id之类的内容应该有效。

如果您只需要对索引中存在的公司进行计数,我会将公司名称与ID一起索引,以便您可以直接在名称上进行分析。