public function index() { if (!$this->input->is_cli_request()) { show_error('Acesso não autorizado', 403); } $client_params = array('hosts' => $this->config->item('elasticsearch_hosts')); $client = new Elasticsearch\Client($client_params); try { $client->indices()->delete(array('index' => 'varadouro')); } catch (Exception $e) { echo "Indice não existe, será criado\n"; } $client->indices()->create(array('index' => 'varadouro', 'body' => array('mappings' => array('evento' => array('properties' => array('titulo' => array('type' => 'string'), 'slug' => array('type' => 'string', 'index' => 'not_analyzed'), 'descricao' => array('type' => 'string'), 'data' => array('type' => 'string', 'index' => 'not_analyzed'))), 'noticia' => array('properties' => array('data' => array('type' => 'string', 'index' => 'not_analyzed'), 'titulo' => array('type' => 'string'), 'slug' => array('type' => 'string', 'index' => 'not_analyzed'), 'conteudo' => array('type' => 'string'))), 'espaco_cultural' => array('properties' => array('nome_espaco' => array('type' => 'string'), 'slug' => array('type' => 'string', 'index' => 'not_analyzed'), 'atividades_culturais' => array('type' => 'string'))), 'agente_cultural' => array('properties' => array('nome_responsavel' => array('type' => 'string'), 'slug' => array('type' => 'string', 'index' => 'not_analyzed'), 'atividades_culturais' => array('type' => 'string'))))))); echo "Indexando eventos...\n"; $start = 0; $eventos = $this->eventos_m->get_all(128, $start); while ($eventos) { foreach ($eventos as $evento) { echo "Indexando \"{$evento->id} - {$evento->titulo}\"\n"; $client->index(array('body' => array('titulo' => $evento->titulo, 'slug' => $evento->slug, 'descricao' => strip_tags_better($evento->descricao), 'data' => $evento->data), 'index' => 'varadouro', 'type' => 'evento', 'id' => $evento->id)); } $start += 128; $eventos = $this->eventos_m->get_all(128, $start); } echo "Indexando noticias...\n"; $start = 0; $noticias = $this->noticias_m->get_all(128, $start); while ($noticias) { foreach ($noticias as $noticia) { echo "Indexando \"{$noticia->id} - {$noticia->titulo}\"\n"; $client->index(array('body' => array('data' => $noticia->data, 'titulo' => $noticia->titulo, 'slug' => $noticia->slug, 'conteudo' => strip_tags_better($noticia->conteudo)), 'index' => 'varadouro', 'type' => 'noticia', 'id' => $noticia->id)); } $start += 128; $noticias = $this->noticias_m->get_all(128, $start); } echo "Indexando espaços culturais...\n"; $start = 0; $espacos = $this->espacos_culturais_m->get_all(128, $start); while ($espacos) { foreach ($espacos as $espaco) { echo "Indexando \"{$espaco->id} - {$espaco->nome_espaco}\"\n"; $client->index(array('body' => array('nome_espaco' => $espaco->nome_espaco, 'slug' => $espaco->slug, 'atividades_culturais' => strip_tags_better($espaco->atividades_culturais)), 'index' => 'varadouro', 'type' => 'espaco_cultural', 'id' => $espaco->id)); } $start += 128; $espacos = $this->espacos_culturais_m->get_all(128, $start); } echo "Indexando agentes culturais...\n"; $start = 0; $agentes = $this->agentes_culturais_m->get_all(128, $start); while ($agentes) { foreach ($agentes as $agente) { echo "Indexando \"{$agente->id} - {$agente->nome_responsavel}\"\n"; $client->index(array('body' => array('nome_responsavel' => $agente->nome_responsavel, 'slug' => $agente->slug, 'atividades_culturais' => strip_tags_better($agente->atividades_culturais)), 'index' => 'varadouro', 'type' => 'agente_cultural', 'id' => $agente->id)); } $start += 128; $agentes = $this->agentes_culturais_m->get_all(128, $start); } }
public function importMovies(Pio $pio) { $index = 1; $pio_eventclient = $pio->eventClient(); $http_client = new \GuzzleHttp\Client(); $es_client = new \Elasticsearch\Client(); for ($x = 1; $x <= 100; $x++) { $movies_url = 'https://api.themoviedb.org/3/movie/popular?api_key=' . env('TMDB_KEY') . '&page=' . $x; $movies_response = $http_client->get($movies_url); $movies_body = $movies_response->getBody(); $movies_result = json_decode($movies_body, true); $movies = $movies_result['results']; if (!empty($movies)) { foreach ($movies as $row) { $id = $row['id']; $title = $row['title']; $poster_path = ''; if (!empty($row['poster_path'])) { $poster_path = $row['poster_path']; } $moviedetails_url = 'https://api.themoviedb.org/3/movie/' . $id . '?api_key=' . env('TMDB_KEY'); $moviedetails_response = $http_client->get($moviedetails_url); $movie_details_body = $moviedetails_response->getBody(); $movie = json_decode($movie_details_body, true); $overview = $movie['overview']; $release_date = $movie['release_date']; $genre = ''; if (!empty($movie['genres'][0])) { $genre = $movie['genres'][0]['name']; } $popularity = $movie['popularity']; $movie_data = array('itypes' => 1, 'tmdb_id' => $id, 'title' => $title, 'poster_path' => $poster_path, 'overview' => $overview, 'release_date' => $release_date, 'genre' => $genre, 'popularity' => $popularity); $pio_response = $pio_eventclient->setItem($index, $movie_data); //create elasticsearch index $params = array(); $params['body'] = $movie_data; $params['index'] = 'movierecommendation_app'; $params['type'] = 'movie'; $params['id'] = $index; $es_res = $es_client->index($params); /* optional if you want to see what's happening echo "<pre>"; print_r($pio_response); echo "</pre>"; echo "---"; echo "<pre>"; print_r($es_res); echo "</pre>"; echo "<br><br>"; */ $index++; } } } return 'awesome!'; }
public function update($id, $type, $index, $values) { //Update single value in Elastic //@return bool $client = new Elasticsearch\Client(); $params = array(); $delParams = array(); $params['body'] = array('author' => $values->author, 'title' => $values->title, 'content' => $values->content); $params['type'] = $type; $params['index'] = $index; $params['id'] = $id; $delParams['type'] = $type; $delParams['index'] = $index; $delParams['id'] = $id; $retDelete = $client->delete($delParams); if ($ret = $client->index($params)) { return 1; } }
public function main() { set_time_limit(0); $logs = TableRegistry::get('LogLogins'); $params = array(); $params['hosts'] = array('192.168.26.112:9200'); $client = new \Elasticsearch\Client($params); # create a index $params = ['index' => 'mobgame', 'body' => ['settings' => ['number_of_shards' => 3, 'number_of_replicas' => 1], 'mappings' => ['log_logins' => ['properties' => ['user_id' => ['type' => 'integer'], 'created' => ['type' => 'date', 'format' => 'date_time'], 'modified' => ['type' => 'date', 'format' => 'date_time'], 'os' => ['type' => 'string', 'index' => 'not_analyzed'], 'resolution' => ['type' => 'string'], 'sdk_ver' => ['type' => 'string', 'index' => 'not_analyzed'], 'game_id' => ['type' => 'integer'], 'g_ver' => ['type' => 'string'], 'device' => ['type' => 'string', 'index' => 'not_analyzed'], 'network' => ['type' => 'string', 'index' => 'not_analyzed'], 'ip' => ['type' => 'string', 'index' => 'not_analyzed'], 'distributor' => ['type' => 'string', 'index' => 'not_analyzed']]]]]]; try { $client->indices()->create($params); $params['index'] = 'mobgame'; $params['type'] = 'log_logins'; $ret = $client->indices()->getMapping(array('index' => 'mobgame', 'type' => 'log_logins')); } catch (Exception $e) { echo $e->getMessage(); } $i = 0; $offset = 2; do { $this->out('Fetching data... '); $this->out('Offset: ' . $offset * $i); $query = $logs->find()->where(['id >=' => $i * $offset, 'id <' => ($i + 1) * $offset]); $docs = array(); if ($query->count() == 0) { break; } foreach ($query as $row) { $data = $row->toArray(); unset($data['id']); $data['created'] = $data['created']->toISO8601String(); $data['modified'] = $data['modified']->toISO8601String(); $docs['body'] = $data; $docs['index'] = 'mobgame'; $docs['type'] = 'log_logins'; debug($docs); $client->index($docs); $i++; die; } } while (true); }
public function actionIndex() { // Create the parameters: $params = array(); $params['index'] = $this->_index; $params['type'] = $this->_type; // Create the client: $client = new Elasticsearch\Client(); // Fetch the content: $q = 'SELECT page.id, page.title, page.content, user.username FROM page LEFT JOIN user ON page.user_id = user.id'; $cmd = Yii::app()->db->createCommand($q); $result = $cmd->query(); // Index each row of content: foreach ($result as $row) { // Index $row. $params['body'] = array('author' => $row['username'], 'title' => $row['title'], 'content' => $row['content']); $params['id'] = $row['id']; $client->index($params); } $this->render('index'); }
public function index() { if ($_FILES) { $client = new Elasticsearch\Client($this->elastic); $config['upload_path'] = './uploads/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '1000000'; $config['max_width'] = '10000'; $config['max_height'] = '10000'; $this->load->library('upload', $config); foreach ($_FILES as $file => $object) { if (!$this->upload->do_upload($file)) { new \dBug($this->upload->display_errors()); } else { $upload_data = $this->upload->data(); $file_path = $upload_data['full_path']; imagepng(imagecreatefromstring(file_get_contents($file_path)), $file_path); $hash = hash_file('sha256', $file_path); rename($file_path, './uploads/' . $hash . ".png"); $key = substr($hash, 0, 10); $params = array(); $params['body'] = array('file_name' => $hash); $params['index'] = 'images'; $params['type'] = 'string'; $params['id'] = $key; $ret = $client->index($params); if ($ret) { $data['key'] = $key; $this->load->view('upload_success', $data); } } } } else { $this->load->view('welcome_message'); } }
private function updateEntity($config, $entity) { die('Use insert Entity instead'); try { $body = []; foreach ($config->get('mapping') as $elasticsearchProperty => $classAttribute) { if (method_exists($entity, $method = 'get' . ucfirst($classAttribute))) { if ($elasticsearchProperty == 'id') { $id = $entity->{$method}(); } $body[$elasticsearchProperty] = $entity->{$method}(); } else { throw new Exception('Can\'t get property ' . $name); } } $params = ['index' => $config->get('index'), 'type' => $config->get('type'), 'id' => $id, 'body' => $body]; // Document will be indexed to my_index/my_type/my_id $response = $this->elasticsearchClient->index($params); } catch (\Exception $e) { var_dump($e, get_class($e)); // @todo - Hier müssen genauere Fehlermeldungen rausgehauen werden. Was fehlt denn? Return false die('updateEntity is failing'); } }
private function indexar_agente($id, $dados_agente) { $client_params = array('hosts' => $this->config->item('elasticsearch_hosts')); $client = new Elasticsearch\Client($client_params); $client->index(array('body' => array('nome_responsavel' => $dados_agente['nome_responsavel'], 'slug' => $dados_agente['slug'], 'atividades_culturais' => strip_tags_better($dados_agente['atividades_culturais'])), 'index' => 'varadouro', 'type' => 'agente_cultural', 'id' => $id)); }
if (count($_POST) > 0) { // Connect to Elasticsearch (1-node cluster) $esPort = getenv('APP_ES_PORT') ?: 9200; $client = new Elasticsearch\Client(['hosts' => ['localhost:' . $esPort]]); // Convert recipe title to ID $id = Util::recipeTitleToId($_POST['title']); // Check if recipe with this ID already exists $exists = $client->exists(['id' => $id, 'index' => Constants::ES_INDEX, 'type' => Constants::ES_TYPE]); if ($exists) { $message = 'A recipe with this title already exists. You can view it ' . '<a href="/view.php?id=' . $id . '">here</a> or rename your recipe.'; } else { // Index the recipe in Elasticsearch $recipe = $_POST; $recipe['tags'] = Util::recipeTagsToArray($_POST['tags']); $document = ['id' => $id, 'index' => Constants::ES_INDEX, 'type' => Constants::ES_TYPE, 'body' => $recipe]; $client->index($document); // Redirect user to recipe view page $message = 'Recipe added!'; header('Location: /view.php?id=' . $id . '&message=' . $message); exit; } } ?> <html> <head> <title>Recipe Search</title> <link rel="stylesheet" href="/css/bootstrap.min.css" /> </head> <body> <div class="container bg-danger" id="message"> <?php
break; case 'SEARCH': $searchParams['index'] = 'acotel'; $searchParams['type'] = 'eiplus_dev_status'; $searchParams['body']['query']['match']['msisdn'] = '5521983059028'; $queryResponse = $client->search($searchParams); print_r($queryResponse); //echo $queryResponse['hits']['hits'][0]['_id']; // Outputs 'abc' break; case 'SAVE': $params = array(); $params['body'] = array('msisdn' => '5521983059028', 'is_free' => '1', 'free_until' => ''); $params['index'] = 'acotel'; $params['type'] = 'eiplus_dev_status'; $params['id'] = '5521983059028'; $ret = $client->index($params); if ($ret['created']) { echo "VALUE CREATED<BR/>\n"; } else { $params['body']['doc'] = array('msisdn' => '5521983059028', 'is_free' => '1', 'free_until' => '2015-07-25'); $ret = $client->update($params); echo "VALUE UPDATED<BR/>\n"; } break; case 'DELETE_DOC': $params = array(); $params['index'] = 'acotel'; $params['type'] = 'eiplus_dev_status'; $params['id'] = '5521983059028'; if ($client->exists($params)) { echo "DELETING VALUE...<BR/>\n";
private function indexar_noticia($id, $dados_noticia) { $client_params = array('hosts' => $this->config->item('elasticsearch_hosts')); $client = new Elasticsearch\Client($client_params); $client->index(array('body' => array('data' => $dados_noticia['data'], 'titulo' => $dados_noticia['titulo'], 'slug' => $dados_noticia['slug'], 'conteudo' => strip_tags_better($dados_noticia['conteudo']), 'autor' => $dados_noticia['autor']), 'index' => 'varadouro', 'type' => 'noticia', 'id' => $id)); }
public function run() { $client = new \Elasticsearch\Client(); $sightsCreated = array(); $sight = Sight::create(['name' => 'Torre dos Clérigos', 'cost' => 3, 'opening_hours' => 9, 'closing_hours' => 19, 'city_id' => 1, 'latitude' => '41.145675', 'longitude' => '-8.614599', 'description' => 'A Torre dos Clérigos é uma torre sineira que faz parte da Igreja dos Clérigos e está situada na cidade do Porto, Portugal. É um monumento considerado por muitos o ex libris da cidade do Porto. A torre foi construída entre 1754 e 1763 com projecto do italiano Nicolau Nasoni sob encomenda de Dom Jerónimo de Távora Noronha Leme e Cernache a pedido da Irmandade dos Clérigos Pobres. O seu arquitecto, Nicolau Nasoni, contribuiu durante muitos anos para a construção da grande torre dos clérigos sem receber nada em troca e só alguns anos depois isso aconteceu. Está classificada pelo IPPAR como Monumento Nacional desde 1910. A torre, se bem que mais considerada pelos habitantes do Porto, foi a última construção do conjunto dos Clérigos, dos quais fazem parte a igreja e uma enfermaria. Foi iniciada em 1732, tendo em conta o aproveito do terreno que sobrara para a instalação da enfermaria dos Clérigos. O projeto inicial de Nasoni previa a construção de duas torres, e não apenas de uma. A torre é decorada segundo o estilo barroco, com esculturas de santos, fogaréus, cornijas bem acentuadas e balaustradas. Tem seis andares e 75 metros de altura, que se sobem por uma escada em espiral com 240 degraus. Era, na altura da sua construção, o edifício mais alto de Portugal. No primeiro andar apresenta uma porta encimada pela imagem de São Paulo, tendo por debaixo, inserido num medalhão, um texto de São Paulo, na Carta aos Romanos. A espessura das paredes do primeiro andar, em granito, chega a atingir os dois metros. Destacam-se as janelas abalaustradas do último andar, mais comprimido e decorado, e os quatro mostradores de relógio. Os materiais utilizados na construção da Torre dos Clérigos foram, principalmente, o granito e o mármore.']); $sight->categories()->attach([1, 4]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Funicular dos Guindais', 'cost' => 2, 'opening_hours' => 8, 'closing_hours' => 20, 'city_id' => 1, 'latitude' => '41.140944', 'longitude' => '-8.6095', 'description' => 'O Funicular dos Guindais é uma ferrovia ligeira que se localiza na cidade do Porto, em Portugal, e liga a Batalha (Rua Augusto Rosa) à Ribeira (Av. Gustave Eiffel). É operado pelo Metro do Porto. Desde a sua inauguração, em fevereiro de 2004, até outubro de 2013 já transportou cerca de 3,7 milhões de pessoas.']); $sight->categories()->attach([6]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Sandeman', 'city_id' => 1, 'opening_hours' => 10, 'closing_hours' => 18, 'cost' => 5, 'latitude' => '41.137649', 'longitude' => '-8.612400', 'description' => 'Criada em 1737 por William Offley, a empresa ganhou renome e prestígio internacional sob a direção de Joseph James Forrester, uma personagem marcante da história do Vinho do Porto, distinguido com o título de Barão pelo Rei de Portugal. O Barão de Forrester, um homem de negócios, enólogo, respeitado provador de vinhos, artista e autor de mapas, foi uma das principais personagens na história do Vinho do Porto. As ancestrais Caves Offley oferecem aos seus visitantes uma experiência inigualável onde a calma e o silêncio imperam.']); $sight->categories()->attach([3]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Livraria Lello', 'city_id' => 1, 'cost' => 0, 'opening_hours' => 10, 'closing_hours' => 19, 'latitude' => '41.14685', 'longitude' => '-8.614825', 'description' => 'A Livraria Lello e Irmão, também conhecida como Livraria Chardron ou simplesmente Livraria Lello, situa-se na Rua das Carmelitas 144, na freguesia da Vitória da cidade do Porto, em Portugal. Em virtude do seu ímpar valor histórico e artístico, a Lello tem sido reconhecida como uma das mais belas livrarias do mundo por diversas personalidades e entidades, casos do escritor espanhol Enrique Vila-Matas, do jornal britânico The Guardian e da editora australiana de guias de viagens Lonely Planet.']); $sight->categories()->attach([7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Capela das Almas', 'cost' => 0, 'opening_hours' => 8, 'closing_hours' => 19, 'city_id' => 1, 'latitude' => '41.149858', 'longitude' => '-8.605556', 'description' => 'A Capela da Almas ou Capela de Santa Catarina é uma capela situada na freguesia de Santo Ildefonso, na cidade do Porto, em Portugal. A sua construção data dos princípios do séc. XVIII. A capela tem dois corpos, sendo o segundo mais baixo, e sofreu obras de ampliação e restauro que modificaram o estilo original, em 1801.']); $sight->categories()->attach([1]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Museu Municipal Amadeo de Souza-Cardoso', 'cost' => 1, 'opening_hours' => 10, 'closing_hours' => 18, 'city_id' => 1, 'latitude' => '41.269641', 'longitude' => '-8.078556', 'description' => 'Amadeo de Souza-Cardoso (Manhufe, freguesia de Mancelos, Amarante, 14 de Novembro de 1887 – Espinho, 25 de Outubro de 1918) foi um pintor português. Pertencente à primeira geração de pintores modernistas portugueses , Amadeo de Souza-Cardoso destaca-se entre todos eles pela qualidade excecional da sua obra e pelo diálogo que estabeleceu com as vanguardas históricas do início do século XX. "O artista desenvolveu, entre Paris e Manhufe, a mais séria possibilidade de arte moderna em Portugal num diálogo internacional, intenso mas pouco conhecido, com os artistas do seu tempo".']); $sight->categories()->attach([5]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Coliseu do Porto', 'cost' => 0, 'opening_hours' => 13, 'closing_hours' => 21, 'city_id' => 1, 'latitude' => '41.146818', 'longitude' => '-8.605492', 'description' => 'O Coliseu do Porto é uma sala de espectáculos localizada na cidade do Porto, em Portugal. O edifício foi classificado como monumento de interesse público pela Portaria n.º 637/2012, de 2 de Novembro de 2012, publicada em Diário da República.']); $sight->categories()->attach([7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Maus Hábitos', 'cost' => 0, 'opening_hours' => 12, 'closing_hours' => 2, 'city_id' => 1, 'latitude' => '41.1467355', 'longitude' => '-8.6055741', 'description' => 'É um espaço informal de fruição criativa e de encontro de públicos heterogéneos. A creative and informal space of creative use and meeting point of heterogeneous publics.']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Café Restaurante Guarany', 'cost' => 0, 'opening_hours' => 9, 'closing_hours' => 23, 'city_id' => 1, 'latitude' => '41.1477601', 'longitude' => '-8.6114781', 'description' => 'O Café Guarany é um restaurante e café histórico localizado na Avenida dos Aliados, em plena Baixa da cidade do Porto, em Portugal. Integrado num surto de abertura de cafés no Porto na década de 1930, a 29 de Janeiro de 19334 foi inaugurado o Café Guarany, projecto do arquitecto Rogério de Azevedo com decoração do escultor Henrique Moreira. Espaço de convívio, tertúlias e cultura desde a sua fundação, em 2003 o Guarany foi totalmente restaurado, buscando um compromisso entre a tradição e a qualidade de serviço. Uma das paredes passou a ostentar pinturas de Graça Morais.']); $sight->categories()->attach([8]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Câmara Municipal do Porto', 'cost' => 0, 'opening_hours' => 0, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.149728', 'longitude' => '-8.6113189', 'description' => 'O Café Guarany é um restaurante e café histórico1 localizado na Avenida dos Aliados, em plena Baixa da cidade do Porto, em Portugal. Integrado num surto de abertura de cafés no Porto na década de 1930, a 29 de Janeiro de 19334 foi inaugurado o Café Guarany, projecto do arquitecto Rogério de Azevedo com decoração do escultor Henrique Moreira. Espaço de convívio, tertúlias e cultura desde a sua fundação, em 2003 o Guarany foi totalmente restaurado, buscando um compromisso entre a tradição e a qualidade de serviço. Uma das paredes passou a ostentar pinturas de Graça Morais.']); $sight->categories()->attach([6]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Armazem do Chá', 'cost' => 0, 'opening_hours' => 21, 'closing_hours' => 23, 'city_id' => 1, 'latitude' => '41.1494999', 'longitude' => '-8.6140738', 'description' => 'Armazem do Chá']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Teatro Sá da Bandeira', 'cost' => 0, 'opening_hours' => 0, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.1468883', 'longitude' => '-8.6088661', 'description' => 'O Teatro de Sá da Bandeira é um dos teatros mais conhecidos da cidade do Porto, Portugal localizando-se perto da Praça da Liberdade, numa rua com o mesmo nome.']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Museu do Vinho do Porto', 'cost' => 2, 'opening_hours' => 10, 'closing_hours' => 18, 'city_id' => 1, 'latitude' => '41.144751', 'longitude' => '-8.6269760', 'description' => 'Situado num armazém do séc. XVIII, dos Vinhos da Companhia Geral da Agricultura da Vinhas do Alto Douro, pretende assumir-se como centro de informação do Vinho do Porto, motivando os visitantes à descoberta da história comercial da cidade relacionando-a com o vinho de renome mundial.']); $sight->categories()->attach([5, 3]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Casa da Rua da Reboleira', 'cost' => 0, 'opening_hours' => 0, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.1402887', 'longitude' => '-8.6154910', 'description' => 'Interessante exemplar da arquitectura civil dos finais da Idade Média. É um dos maiores edifícios da zona e contém elementos de várias épocas. Ao nível da cave vêem-se estruturas medievais que poderão remontar ao século XIV. A fachada da rua da Reboleira mantém ainda no rés-do-chão os portais góticos. Os andares superiores foram transformados, possivelmente no século XVII, assim como o próprio coroamento das ameias.']); $sight->categories()->attach([7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Lado B', 'cost' => 0, 'opening_hours' => 0, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.1466574', 'longitude' => '-8.6054355', 'description' => 'Desde a abertura do Lado B, houve o propósito de apostar na dignificação e promoção do prato da Francesinha, enquanto elemento identitário da gastronomia e da cultura da cidade do Porto. Volvidos dois anos de afincado trabalho no apuramento da receita, e depois de verificada a sua qualidade por clientes e profissionais da área, decidimos dar o passo de registar a marca «A Melhor Francesinha do Mundo». Mais do que a marca de uma empresa ou de um espaço em particular, pretendemos que seja a marca de toda uma cultura, ligada de forma umbilical à cidade do Porto, mas aberta ao resto mundo.']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Era uma vez em Paris', 'cost' => 0, 'opening_hours' => 11, 'closing_hours' => 23, 'city_id' => 1, 'latitude' => '41.1475197', 'longitude' => '-8.6140857', 'description' => 'Era uma vez em Paris… é assim que começa uma nova história, numa Paris com lugar no Porto, distante da sabida cidade do amor, das luzes, das boinas, distante daquela que está geográfica e romanticamente colocada mais perto do coração da Europa. Ora, para os mais atentos, e em jeito de alerta, para os mais desatentos, o Era uma vez em Paris… é a continuação de uma viagem que começou no Era uma vez no Porto…, este lugar, que (já) tantas histórias tem para contar, algumas em jeito de sussurro, outras em tom de conversa, catalogada, convencionalmente, regular e outras entusiasticamente gritadas. Era uma vez em Paris… pretende ser um espaço intemporal, mostrar que o mundo, afinal, é pequeno e que o ser humano e os ambientes apesar de serem únicos, também podem, em determinadas posições, ser transversais e bastante iguais.']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Café au Lait', 'cost' => 0, 'opening_hours' => 21, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.147037', 'longitude' => '-8.6143577', 'description' => 'Café au lait é um charmoso café situado na baixa do Porto, no nr 46 da Rua Galeria de Paris, na zona dos Clérigos. Um espaço com internet sem fios.']); $sight->categories()->attach([2, 7]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Sé do Porto', 'cost' => 3, 'opening_hours' => 9, 'closing_hours' => 18, 'city_id' => 1, 'latitude' => '41.1404225', 'longitude' => '-8.6146040', 'description' => 'A Sé Catedral da cidade do Porto, situada no coração do centro histórico da cidade do Porto, é um dos principais e mais antigos monumentos de Portugal.']); $sight->categories()->attach([1, 6]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Igreja da Misericórdia do Porto', 'cost' => 0, 'opening_hours' => 9, 'closing_hours' => 18, 'city_id' => 1, 'latitude' => '41.1436333', 'longitude' => '-8.6143185', 'description' => 'A Igreja da Misericórdia do Porto situa-se na Rua das Flores, na cidade do Porto, tendo sido construída inicialmente em 1559 de estilo renascentista com reminiscências góticas, desta igreja só se aproveitou a capela-mor, em virtude de um relâmpago que terá destruído a fachada em Abril de 1621.']); $sight->categories()->attach([1, 6]); $sightsCreated[] = $sight; $sight = Sight::create(['name' => 'Estação de S.Bento', 'cost' => 0, 'opening_hours' => 0, 'closing_hours' => 24, 'city_id' => 1, 'latitude' => '41.145592', 'longitude' => '-8.610572', 'description' => 'A Estação Ferroviária de Porto - São Bento, igualmente denominada de Estação de São Bento, e originalmente como Estação Central do Porto, é uma interface de caminhos de ferro, que serve a cidade do Porto, em Portugal; embora tenha entrado ao serviço no dia 7 de Novembro de 1896, só em 5 de Outubro de 1916 é que se deu a inauguração oficial. Está situada na Praça de Almeida Garret, na cidade do Porto, tendo o edifício da Estação, de influência francesa, sido delineado pelo arquitecto portuense José Marques da Silva']); $sight->categories()->attach([7, 8]); $sightsCreated[] = $sight; foreach ($sightsCreated as $sight) { $client->index(['index' => 'sightseeing', 'type' => 'sight', 'id' => $sight->id, 'body' => ['name' => $sight->name, 'description' => $sight->description, 'cost' => $sight->cost, 'opening_hours' => $sight->opening_hours, 'closing_hours' => $sight->closing_hours, 'location' => ['lat' => $sight->latitude, 'lon' => $sight->longitude], 'categories' => $sight->categories->toArray()]]); } }
private function indexar_evento($id, $dados_evento) { $client_params = array('hosts' => $this->config->item('elasticsearch_hosts')); $client = new Elasticsearch\Client($client_params); $client->index(array('body' => array('titulo' => $dados_evento['titulo'], 'slug' => $dados_evento['slug'], 'descricao' => strip_tags_better($dados_evento['descricao']), 'data' => $dados_evento['data']), 'index' => 'varadouro', 'type' => 'evento', 'id' => $id)); }