私は Solr を初めて使用し、次の問題があります。
私はそれらの文書を持っています:
カテゴリ:契約:
{
"contract_id_s": "contract-ENG-00001",
"title_s": "contract title",
"ref_easy_s": "REFAAA",
"commitment_id_s": "ENG-00001",
},
カテゴリ:コミットメント:
{
"commitment_id_s": "ENG-00001",
"title_s": "commitment title",
"status_s": "Validated",
"date_changed_status_s": "2015-09-30",
"date_status_initiated_s": "2015-09-27",
"date_status_confirmed_s": "2015-09-28",
"date_status_validated_s": "2015-09-30",
},
category:commitment AND sub_category_s:commitment_project:
{
"id": "ENG-00001_AAA",
"commitment_id_s": "ENG-00001",
"project_id_s": "AAA",
"project_name_s": "project name",
"project_amount_asked_s": "2000",
"project_amount_validated_s": "2100"
},
{
"id": "ENG-00001_AAA2",
"commitment_id_s": "ENG-00001",
"project_id_s": "AAA",
"project_name_s": "project name",
"project_amount_asked_s": "1000",
"project_amount_validated_s": "1200"
},
コミットメントごとに、コントラクトが存在する可能性があります。コミットメントごとに、いくつかの支払いが発生する可能性があります。
これが私がやりたいことです: - デフォルトでは、少なくとも : を持つコミットメントのみを選択します。project_amount_validated_s 値を持つ 1 つの sub_category_s:commitment_project。. 1つの契約。- 金額でフィルタリングする場合は、このリストで project_amount_validated_s > amount_min AND < amount_max の合計であるコミットメントのみを選択します。
パフォーマンスの面でのベストプラクティスは何ですか? - コミットメントの ID を要求してから、その詳細を要求しますか? - このリクエストで契約情報を結合する方法はありますか? - それとも、各ドキュメントを 1 つずつリクエストするのがベスト プラクティスですか?
問題は、無駄なデータ (パフォーマンス、帯域幅) を要求したくないということです。