# Solr - lazy loading error



## Moinsn (22. Sep 2011)

Moinsn ...


Mit folgenden Code soll eine pdf an Apache Solr übermittelt werden ...
Leider bekomme ich einen "lazy loading error".
Dies lässt darauf schließen dass der Postbefehl via curl nicht richtig passt da Solr ansich zu funktionieren scheint.
Der Upload mit curl über die Konsole funktioniert.
Wär klasse wenn ihr mir zeigen könnt wie's richtig geht denn ich hab eigendl. keinen Plan 
von PHP/HTML ... .
Mfg Felix


```
<html>  
  <head>
    <title>PHP Solr Client Example</title>
  </head>
  <body>
      <form  accept-charset="utf-8" method="post">
          
      <input  name="search" type="hidden" value="action"/>
          
      <label for="q">Input:</label>
      <input  id="q" name="q" type="file" value="<?php echo htmlspecialchars($_POST['q'], ENT_QUOTES, 'utf-8'); ?>"/>
      <br/>
      <label for="q">yourID:</label>
      <input  id="id" name="id" type="text" value="<?php echo htmlspecialchars($_POST['id']); ?>"/>
      <input name="input" type="submit"/>
    </form> 

      
<?php

if(isset($_POST['search'])) {   
    $results = write($_POST['id'], $_POST['q']);
}

/**
 * $path = Pfad der zu indexierenden Datei
 * $id = id des Bewerbers im crm
 */
function write($id, $path) {    
     $ch = curl_init('http://localhost:8983/solr/update/extract?literal.id='.$id.'&uprefix=attr_&fmap.content=attr_content&commit=true" -F "myfile=@'.$path.'');
    curl_setopt ($ch, CURLOPT_POST, 1);// POST Request
    curl_setopt ($ch, CURLOPT_POSTFIELDS, array('myfile'=>$path));// POSTDATA    
    $result = curl_exec ($ch);// Request ausführen
    
    echo curl_error($ch); // Ausgabe Error

    curl_close($ch);
    return $result;
}

?>
      
    </body>
</html>
```


----------



## maki (22. Sep 2011)

*verschoben*


----------



## XHelp (22. Sep 2011)

Hilf ExtractingRequestHandler - Solr Wiki weiter?


----------



## Moinsn (22. Sep 2011)

Einer der da gelisteten Curl Befehle müsste ja funktionieren ...
Aber leider weiß ich nicht welcher.
Ich bilde mir ein ich hätte das vor 2 Wochen mit einem Befehl zum laufen bekommen 
in dem "data-binary" vor kam.
aber irgendwie will's einfach nicht laufen


----------



## XHelp (22. Sep 2011)

Es geht nicht un den curl-Befehl, sondern um den Hinweis mit den Libs.


----------



## Moinsn (22. Sep 2011)

Achso ...


> If you are not working from the supplied example/solr directory you must copy all libraries from example/solr/libs into a libs directory within your own solr directory. The ExtractingRequestHandler is not incorporated into the solr war file, you have to install it separately.



aber ich arbeite im Solr- Example.
Ich habe das Beispiel von Apache so zu sagen 1zu1 übernommen    


uns so sieht der RequestHandler in meiner SolrConfig.xml aus:     
Sollte eigendl. auch korrekt sein, oder? 
[XML]  <!-- Solr Cell Update Request Handler

ExtractingRequestHandler - Solr Wiki 

    -->
  <requestHandler name="/update/extract" 
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <!-- All the main content goes into "text"... if you need to return
           the extracted text or do highlighting, use a stored field. -->
      <str name="fmap.content">text</str>
      <str name="lowernames">true</str>
      <str name="uprefix">ignored_</str>

      <!-- capture link hrefs but ignore div attributes -->
      <str name="captureAttr">true</str>
      <str name="fmap.a">links</str>
      <str name="fmap.div">ignored_</str>
    </lst>
  </requestHandler>[/XML]


----------



## Moinsn (22. Sep 2011)

Habs jetzt via 
	
	
	
	





```
exec('curl "http://localhost:8983/solr/update/extract?literal.id=doc3&uprefix=attr_&fmap.content=attr_content&commit=true" -F "myfile=@wiegand.pdf"');
```
hin bekommen.

Ist ne unschöne Lösung ....
aber es funktioniert

Mfg


----------

