Add standing offers
[contractdashboard.git] / solr.php
blob:a/solr.php -> blob:b/solr.php
  <?php
   
  include_once ("./lib/common.inc.php");
   
  // create a ping query
  $ping = $solr_client->createPing();
   
  // execute the ping query
  try {
  $result = $solr_client->ping($ping);
  echo 'Ping query successful';
  echo '<br/><pre>';
  var_dump($result->getData());
  echo '</pre>';
  } catch (Solarium\Exception $e) {
  echo 'Ping query failed';
  }
   
   
  $update = $solr_client->createUpdate();
  $update->addCommit();
   
  // this executes the query and returns the result
  $result = $solr_client->update($update);
   
  echo '<b>Update query executed</b><br/>';
  echo 'Query status: ' . $result->getStatus(). '<br/>';
  echo 'Query time: ' . $result->getQueryTime();
   
  $buffer = $solr_client->getPlugin('bufferedadd');
  $buffer->setBufferSize(500);
  $page = 583728;
  while ($conn) {
  echo ($page++).PHP_EOL;
  $stmt = $conn->prepare('SELECT * FROM contractnotice ORDER BY "CNID" LIMIT 1000 OFFSET '.($page*1000));
  $stmt->execute();
  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  foreach ($rows as $row) {
   
   
  // create a new document for the data
  $data = array("id" => $row["CNID"]);
  foreach ($row as $key => $value) {
  if ($key != 'atmID' && $key != 'CNID' && $key != 'supplierPostcode' && $key != 'contactPostcode') {
  if ($key == 'value') {
  $value = intval($value);
  }
  if ($key == 'publishDate' || $key == 'importDate') {
  $value = explode(" ",$value)[0];
  }
  $value = preg_replace( '/[^[:print:]]/', '',$value);
  $data[$key] = $value;
  }
  //print_r($data);
  $buffer->createDocument($data);
  }
  }
  }
  $buffer->flush();