0

我想在 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 个集合“工作”和“公司”有相同的字段。

如何在 solr 中“转换”下面的查询?

我看到可以与父集合进行连接,但我不想在工作和公司之间创建层次结构(这没有意义)。

4

1 回答 1

0

您无法实现查询的直接版本,因为 Solr 不会按照您想要的方式进行连接。一个可能的解决方案是在in上进行分client_idjobs,因此您可以获得每个公司 ID 的计数,然后在显示每个公司的计数时从该结果中查找值(如果您确实需要左连接部分)。如果数据中不存在 client_id,则其计数为 0。类似的东西facet=true&facet.field=client_id应该可以工作。

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

于 2016-09-26T22:36:10.240 回答