dao = DAO::getInstance(); } public function getNearbyOffers ($lat, $lon, $maxDistance, $minDistance = NULL) { $n = 20; $queryParams = [ 'size' => $n, 'query' => [ 'bool' => [ 'must' => [ [ 'geo_distance' => [ "distance" => $maxDistance . 'km', "geoPoint"=> [ "lat" => $lat, "lon" => $lon ] ] ], [ 'range' => [ 'stock' => [ 'gte' => 1 ] ] ] ] ] ] ]; $json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams); $result = json_decode($json); return $result->hits->hits; } public function getImmaterialOffers () { $n = 20; $queryParams = [ 'size' => $n, 'query' => [ 'nested' => [ 'path' => 'category', 'query' => [ 'bool' => [ 'should' => [ [ 'term' => [ 'category.parent' => 'cat31' ] ], [ 'term' => [ 'category.id' => 'cat31' ] ], [ 'term' => [ 'category.parent' => 'cat74' ] ], [ 'term' => [ 'category.id' => 'cat74' ] ] ], 'must_not' => [ [ "term" => ["category.id" => "cat65"] ] ] ] ] ] ] ]; $json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams); $result = json_decode($json); return $result->hits->hits; } public function getShippable () { $n = 20; $queryParams = [ 'size' => $n, 'query' => [ 'match' => [ 'description' => 'envoi possible' ] ] ]; $json = $this->dao->fetchJson('/market/record/_search?pretty', 'gchange', $queryParams); $result = json_decode($json); return $result->hits->hits; } public function getHousingOffers () { } public function getShippableOffers () { } }