Add standing offers
[contractdashboard.git] / solr.php
blob:a/solr.php -> blob:b/solr.php
--- a/solr.php
+++ b/solr.php
@@ -1,1 +1,60 @@
+<?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();
+