[[query-dsl-custom-score-query]] === Custom Score Query `custom_score` query allows to wrap another query and customize the scoring of it optionally with a computation derived from other field values in the doc (numeric ones) using <>. Here is a simple sample: [source,js] -------------------------------------------------- "custom_score" : { "query" : { .... }, "script" : "_score * doc['my_numeric_field'].value" } -------------------------------------------------- On top of the different scripting field values and expression, the `_score` script parameter can be used to retrieve the score based on the wrapped query. [float] ==== Script Parameters Scripts are cached for faster execution. If the script has parameters that it needs to take into account, it is preferable to use the same script, and provide parameters to it: [source,js] -------------------------------------------------- "custom_score" : { "query" : { .... }, "params" : { "param1" : 2, "param2" : 3.1 }, "script" : "_score * doc['my_numeric_field'].value / pow(param1, param2)" } --------------------------------------------------