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 は結合を希望する方法で結合しないため、クエリの直接バージョンを実装することはできません。可能な解決策は、でファセットするclient_idことjobsです。そのため、各会社 ID のカウントを取得し、各会社のカウントを表示するときにその結果から値を検索します (左側の結合部分が本当に必要な場合)。client_id がデータに存在しない場合、そのカウントは 0facet=true&facet.field=client_idです。

インデックスに存在する企業の数だけが必要な場合は、名前を直接ファセットできるように、ID と一緒に会社名をインデックス化します。

于 2016-09-26T22:36:10.240 に答える