Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13633 anikendra 1
<?php
2
/**
3
 * Simple general purpose function for updating Solr
4
 * @param string $url Solr URL for updating data
5
 * @param string $postXml XML containing update information
6
 * @return string Solr response **/
7
function updateSolr($url, $postXml){
8
echo $url;
9
echo $postXml;
10
    $ch = curl_init($url);
11
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postXml);
12
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
13
    curl_setopt($ch, CURLOPT_POST, 1);
14
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
15
 
16
    $header[] = "SOAPAction: $url";
17
    $header[] = "MIME-Version: 1.0";
18
    $header[] = "Content-type: text/xml; charset=utf-8";
19
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
20
 
21
    $r = curl_exec($ch);
22
    if(!$r)
23
        echo "Error: " . curl_error($ch) . "n";
24
    curl_close($ch);
25
    print_r($r);
26
}//end updateSolr()
27
 
28
// Build a simple XML string to add a new record.
29
// PHP command line parameters are received in $argv array.
30
$xml = '<add>
31
<doc>
32
<field name="id">'.$argv[2].'</field>
33
<field name="title">"'.$argv[3].'"</field>
34
<field name="store">'.$argv[4].'</field>
35
<field name="brand">'.$argv[5].'</field>
36
<field name="category">"'.$argv[6].'"</field>
37
<field name="inStock">'.$argv[7].'</field>
38
<field name="popularity">'.$argv[8].'</field>
39
<field name="price">'.$argv[9].'</field>
40
</doc>
41
</add>';
42
 
43
updateSolr($argv[1], $xml);
44
// Lastly let's commit our changes
45
updateSolr($argv[1], "<commit />");