0

私は 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 つずつリクエストするのがベスト プラクティスですか?

問題は、無駄なデータ (パフォーマンス、帯域幅) を要求したくないということです。

4

2 に答える 2