Blame | Last modification | View Log | RSS feed
<?php/*** Simple general purpose function for updating Solr* @param string $url Solr URL for updating data* @param string $postXml XML containing update information* @return string Solr response **/function updateSolr($url, $postXml){echo $url;echo $postXml;$ch = curl_init($url);curl_setopt($ch, CURLOPT_POSTFIELDS, $postXml);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);$header[] = "SOAPAction: $url";$header[] = "MIME-Version: 1.0";$header[] = "Content-type: text/xml; charset=utf-8";curl_setopt($ch, CURLOPT_HTTPHEADER, $header);$r = curl_exec($ch);if(!$r)echo "Error: " . curl_error($ch) . "n";curl_close($ch);print_r($r);}//end updateSolr()// Build a simple XML string to add a new record.// PHP command line parameters are received in $argv array.$xml = '<add><doc><field name="id">'.$argv[2].'</field><field name="title">"'.$argv[3].'"</field><field name="store">'.$argv[4].'</field><field name="brand">'.$argv[5].'</field><field name="category">"'.$argv[6].'"</field><field name="inStock">'.$argv[7].'</field><field name="popularity">'.$argv[8].'</field><field name="price">'.$argv[9].'</field></doc></add>';updateSolr($argv[1], $xml);// Lastly let's commit our changesupdateSolr($argv[1], "<commit />");