Task Configurations

Task Definition Types

When you open kolibri-watch and navigate to the CREATE screen, you will see the following types of processing definitions offered:

Processing Definition Selection: Alt text

What is the difference here?

Processing Definition Types
TASKProvides a range of tasks the receiving node will directly execute, since they represent a single processing step (as opposed to jobDefinitions, which define batches). Current options are: AGGREGATE_FROM_DIR_BY_REGEX, AGGREGATE_FILES, AGGREGATE_GROUPS (see below for descriptions)
JOB_SUMMARYSimply generates a summary over all available results for a job (partial or full aggregates) and persist it in the job’s result folder. As for a Task, this represent a single processing step and thus is processed directly by the node that receives the request.
JOB_DEFINITIONDefinition of full jobs. Submitting a job definition will not directly start to process it, but you will find the job listed under OPEN JOBS in the STATUS page of the UI. To start processing, you need to press the START button. This will place a job-level directive into the job definition folder for the selected job, informing the nodes that they can start processing.

In this section we will look at the tasks that consist of a single processing step, TASK and JOB_SUMMARY. We will look closer at JOB_DEFINITION in the next section.

Let`s look at the variants in detail:

TASK Type

AGGREGATE_FROM_DIR_BY_REGEX:

Alt text

Fields
regexRegular expression applied on the file names in the defined folder. The files corresponding to the file names that match the expression are selected for aggregation. Example: .*[(]q=.+[)]-.* that would match file names such as (q=trousers)-asjhkh.
outputFilenameThe file name under which the aggregation result shall be stored.
readSubDirThe directory from which to pick the files. Note that the paths are relative to the defined base path. Example: test-results/2023-08-09/testJob1
writeSubDirThe directory in which the result is to be stored. Note that the paths are relative to the defined base path. Example: test-results/2023-08-09/testJob1
weightProviderBy specifying the weight provider, we can assign different weights to different results. A possible use case is the down-weighting of results for queries that are relatively unimportant / occur rarely.

The weightProvider can either be set to a constant value for equal weight for all results or to FROM_PER_QUERY_FILE:

Alt text

This option requires you to specify a file with the configured query-weights based on csv format such as in the example below:

q1  0.1
q2  0.4
q3  1.0
q4  0.3
q5  0.5
q6  0.8

Note that the removePrefix and removeSuffix options are provided to allow cleaning up the file name of each result to a value provided in the query weights file. Example: if results are in the format (q=q1)-abc1-dskdasjkh, here abc1 represents the node-hash, identifying the node who produced the result, and dskdasjkh is a random hash to avoid file override in case batching does not match the actual result tagging (e.g if tagging happens by query parameter and batching is such that each batch refers to multiple queries, in which case we would have multiple partial results for a single query). Important here is that both removePrefix and removeSuffix refer to the base result name, which in the above is the remaining part after removing both hash suffixes, thus (q=q1) in the example above. Thus a removePrefix of (q= and removeSuffix of ) would result in q1 as identifier, which matches a key in the above example csv weight file.

AGGREGATE_FILES:

Here we need to specify all files we would like to aggregate, while the other settings work analogue to the above example.

Alt text

AGGREGATE_GROUPS:

Here we aggregate over defined groups and generate one result per group. Note that as of now, the groups need to refer to the file’s base name as described above, e.g for (q=q1)-abc1-dskdasjkh this would be (q=q1). For the group assignment we have no cleanup / normalization of this base name, but you can use it as described above for the definition of a weight provider.

Alt text

Here a group json looks as follows:

{
  "group1": [
    "(q=q1)",
    "(q=q2)",
    "(q=q3)",
    "(q=q4)",
    "(q=q5)",
    "(q=q6)"
  ],
  "group2": [
    "(q=q7)",
    "(q=q8)",
    "(q=q9)",
    "(q=q10)",
    "(q=q11)",
    "(q=q12)",
    "(q=q13)",
    "(q=q14)",
    "(q=q15)",
    "(q=q16)",
    "(q=q17)",
    "(q=q18)"
  ],
  "group3": [
    "(q=q19)",
    "(q=q20)",
    "(q=q21)",
    "(q=q22)",
    "(q=q23)",
    "(q=q24)"
  ],
  "group4": [
    "(q=q1)",
    "(q=q10)",
    "(q=q12)",
    "(q=q18)",
    "(q=q20)",
    "(q=q22)",
    "(q=q24)"
  ]
}

Similarly, by selecting the FROM_JSON option instead of FROM_JSON_FILE, you can enter the group assignments manually:

Alt text

In the above example configuration we specified an query weight file in the following format:

q1  0.1
q2  0.4
q3  1.0

Thus with the given settings the weight keys would match. They do not if we do not provide removePrefix and removeSuffix. In this case we would have to change the key column format to:

(q=q1)  0.1
(q=q2)  0.4
(q=q3)  1.0

After submitting and a few moments you should see files [groupName].csv for all specified group names.

NOTE: there was a bug for the group aggregation up to version v0.2.4, yet it is fixed in the main-branch. The fix will be contained from release v0.2.5.

JobSummary Type

If you select this option, you get the choice for a range of dateIds for which results exist. After selecting one, a list of jobIds is shown. Select the jobId for which to create a summary, and submit the task. A few moments later you will find a summary for that job in the result folder for that job in a summary subfolder.

Alt text

A summary contains a range of information:

  • the estimated effect each parameter has on the result quality (calculated for all metrics for all available (partial or full) results)
  • candidates for good / bad configs
{
  "NDCG_10": {
    "metric": "NDCG_10",
    "results": {
      "((q=q7))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6855983189912663
          ],
          "worst": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6750531211165659
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.40,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.3,
            "q": 0.0
          }
        }
      },
      "((q=q1))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6779543908079728
          ],
          "worst": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6673867087869434
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.7,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.1
          }
        }
      },
      "((q=q8))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6728646200189348
          ],
          "worst": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6622830079624596
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01,
            "k1": 0.3,
            "q": 0.2
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q10))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6876636420598735
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6768444825159147
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.0,
            "k1": 0.75,
            "q": 1.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.9
          }
        }
      },
      "((q=q3))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.70330263096681
          ],
          "worst": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.6932150559196751
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.010087575047134867,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q9))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a3"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7322057892429067
          ],
          "worst": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7211842714934189
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01102,
            "k1": 1.0,
            "q": 0.1
          },
          "maxSingleResultShift": {
            "a": 0.2,
            "k1": 0.3,
            "q": 0.6
          }
        }
      },
      "((q=q4))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6533867258914473
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6432054161998944
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.013206512220618305,
            "k1": 0.09,
            "q": 0.8
          },
          "maxSingleResultShift": {
            "a": 0.1,
            "k1": 0.2,
            "q": 0.3
          }
        }
      },
      "((q=q6))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6589173727055805
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6449092328371309
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.9,
            "k1": 0.8,
            "q": 0.7
          },
          "maxSingleResultShift": {
            "a": 0.4,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q2))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6243645948746191
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6126035952414102
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01176099963320898,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q5))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.007013323687080963,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      }
    }
  },
  "PRECISION_k=4&t=0.1": {
    "metric": "PRECISION_k=4&t=0.1",
    "results": {
      "((q=q7))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6855983189912663
          ],
          "worst": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6750531211165659
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.40,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.3,
            "q": 0.0
          }
        }
      },
      "((q=q1))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6779543908079728
          ],
          "worst": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6673867087869434
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.7,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.1
          }
        }
      },
      "((q=q8))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6728646200189348
          ],
          "worst": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6622830079624596
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01,
            "k1": 0.3,
            "q": 0.2
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q10))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6876636420598735
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6768444825159147
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.0,
            "k1": 0.75,
            "q": 1.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.9
          }
        }
      },
      "((q=q3))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.70330263096681
          ],
          "worst": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.6932150559196751
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.010087575047134867,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q9))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a3"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7322057892429067
          ],
          "worst": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7211842714934189
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01102,
            "k1": 1.0,
            "q": 0.1
          },
          "maxSingleResultShift": {
            "a": 0.2,
            "k1": 0.3,
            "q": 0.6
          }
        }
      },
      "((q=q4))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6533867258914473
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6432054161998944
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.013206512220618305,
            "k1": 0.09,
            "q": 0.8
          },
          "maxSingleResultShift": {
            "a": 0.1,
            "k1": 0.2,
            "q": 0.3
          }
        }
      },
      "((q=q6))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6589173727055805
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6449092328371309
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.9,
            "k1": 0.8,
            "q": 0.7
          },
          "maxSingleResultShift": {
            "a": 0.4,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q2))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6243645948746191
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6126035952414102
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01176099963320898,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q5))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.007013323687080963,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      }
    }
  },
  "RECALL_k=4&t=0.1": {
    "metric": "RECALL_k=4&t=0.1",
    "results": {
      "((q=q7))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6855983189912663
          ],
          "worst": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6750531211165659
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.40,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.3,
            "q": 0.0
          }
        }
      },
      "((q=q1))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6779543908079728
          ],
          "worst": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6673867087869434
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.7,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.1
          }
        }
      },
      "((q=q8))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6728646200189348
          ],
          "worst": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6622830079624596
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01,
            "k1": 0.3,
            "q": 0.2
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q10))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6876636420598735
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6768444825159147
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.0,
            "k1": 0.75,
            "q": 1.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.9
          }
        }
      },
      "((q=q3))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.70330263096681
          ],
          "worst": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.6932150559196751
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.010087575047134867,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q9))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a3"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7322057892429067
          ],
          "worst": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7211842714934189
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01102,
            "k1": 1.0,
            "q": 0.1
          },
          "maxSingleResultShift": {
            "a": 0.2,
            "k1": 0.3,
            "q": 0.6
          }
        }
      },
      "((q=q4))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6533867258914473
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6432054161998944
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.013206512220618305,
            "k1": 0.09,
            "q": 0.8
          },
          "maxSingleResultShift": {
            "a": 0.1,
            "k1": 0.2,
            "q": 0.3
          }
        }
      },
      "((q=q6))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6589173727055805
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6449092328371309
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.9,
            "k1": 0.8,
            "q": 0.7
          },
          "maxSingleResultShift": {
            "a": 0.4,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q2))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6243645948746191
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6126035952414102
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01176099963320898,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q5))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.007013323687080963,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      }
    }
  },
  "NDCG_4": {
    "metric": "NDCG_4",
    "results": {
      "((q=q7))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6855983189912663
          ],
          "worst": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q7"
              ]
            },
            0.6750531211165659
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.40,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.3,
            "q": 0.0
          }
        }
      },
      "((q=q1))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6779543908079728
          ],
          "worst": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q1"
              ]
            },
            0.6673867087869434
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.7,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.1
          }
        }
      },
      "((q=q8))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a7"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6728646200189348
          ],
          "worst": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q8"
              ]
            },
            0.6622830079624596
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01,
            "k1": 0.3,
            "q": 0.2
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q10))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a4"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6876636420598735
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q10"
              ]
            },
            0.6768444825159147
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.0,
            "k1": 0.75,
            "q": 1.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.5,
            "q": 0.9
          }
        }
      },
      "((q=q3))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.70330263096681
          ],
          "worst": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q3"
              ]
            },
            0.6932150559196751
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.010087575047134867,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q9))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a3"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7322057892429067
          ],
          "worst": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q9"
              ]
            },
            0.7211842714934189
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01102,
            "k1": 1.0,
            "q": 0.1
          },
          "maxSingleResultShift": {
            "a": 0.2,
            "k1": 0.3,
            "q": 0.6
          }
        }
      },
      "((q=q4))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a6"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6533867258914473
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q4"
              ]
            },
            0.6432054161998944
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.013206512220618305,
            "k1": 0.09,
            "q": 0.8
          },
          "maxSingleResultShift": {
            "a": 0.1,
            "k1": 0.2,
            "q": 0.3
          }
        }
      },
      "((q=q6))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a10"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6589173727055805
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q6"
              ]
            },
            0.6449092328371309
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.9,
            "k1": 0.8,
            "q": 0.7
          },
          "maxSingleResultShift": {
            "a": 0.4,
            "k1": 0.5,
            "q": 0.6
          }
        }
      },
      "((q=q2))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a9"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6243645948746191
          ],
          "worst": [
            {
              "a": [
                "a1"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q2"
              ]
            },
            0.6126035952414102
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.01176099963320898,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      },
      "((q=q5))": {
        "bestAndWorstConfigs": {
          "best": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ],
          "worst": [
            {
              "a": [
                "a5"
              ],
              "k1": [
                "v1",
                "v2"
              ],
              "q": [
                "q5"
              ]
            },
            0.6439163905223448
          ]
        },
        "parameterEffectEstimate": {
          "maxMedianShift": {
            "a": 0.007013323687080963,
            "k1": 0.0,
            "q": 0.0
          },
          "maxSingleResultShift": {
            "a": 0.0,
            "k1": 0.0,
            "q": 0.0
          }
        }
      }
    }
  }
}