diff --git a/src/Query/FunctionScoreQuery.php b/src/Query/FunctionScoreQuery.php
index c154092907de7a1534679198306bea24706c80d2..1519e4d0080c9cd5098d6f9a671f919426d6687f 100644
--- a/src/Query/FunctionScoreQuery.php
+++ b/src/Query/FunctionScoreQuery.php
@@ -181,14 +181,23 @@ class FunctionScoreQuery implements BuilderInterface
         array $options = [],
         BuilderInterface $query = null
     ) {
-        $function = [
-            'script_score' => array_merge(
-                [
-                    'script' => $script,
-                    'params' => $params,
-                ],
+        if (count($params) > 0) {
+            $options = array_merge(
+                ['params' => $params],
                 $options
-            ),
+            );
+        }
+
+        $function = [
+            'script_score' => [
+                'script' => array_merge(
+                    [
+                        'lang' => 'painless',
+                        'inline' => $script
+                    ],
+                    $options
+                )
+            ]
         ];
 
         $this->applyFilter($function, $query);