diff --git a/plugins/drivers/elastic.php b/plugins/drivers/elastic.php index 29d46651..a11dd64f 100644 --- a/plugins/drivers/elastic.php +++ b/plugins/drivers/elastic.php @@ -205,6 +205,9 @@ if (isset($_GET["elastic"])) { if (empty($search)) { return false; } + if ($select == array("*")) { + $tableFields = array_keys(fields($table)); + } $return = array(); foreach ($search["hits"]["hits"] as $hit) { @@ -219,7 +222,9 @@ if (isset($_GET["elastic"])) { $fields[$key] = $key == "_id" ? $hit["_id"] : $hit["_source"][$key]; } } else { - $fields = $hit["_source"]; + foreach ($tableFields as $key) { + $fields[$key] = $key == "_id" ? $hit["_id"] : $hit["_source"][$key]; + } } foreach ($fields as $key => $val) { $row[$key] = (is_array($val) ? json_encode($val) : $val);