2012-07-18 11 views
12

Sto cercando di ricaricare il nucleo Solr (versione 3.6.0) mediante la seguente frase:nucleo Ricarica Solr con l'arricciatura

curl http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore 

Quando eseguire esso, ottengo la seguente risposta:

<?xml version="1.0" encoding="UTF-8"?> 
<response> 
    <lst name="responseHeader"> 
     <int name="status">0</int> 
     <int name="QTime">1316</int> 
    </lst> 
</response> 

Ricevo una risposta simile quando inserisco tale URL nel browser (la differenza è il valore di QTime).

Il mio problema è che, se chiamo all'URL dal browser, posso vedere sul registro informazioni che il ricarico è eseguito, ma se lo chiamo dall'istruzione CURL, non riesco a vedere nulla sul mio registro info (vale a dire, nessun processo di ricarica è stato eseguito).

Devo modificare alcuni dati di configurazione? Sembra che la chiamata non è arrivare a server Solr ...

+0

La tua richiesta ricciolo sembra ok, non vedo il motivo per cui ci potrebbe essere una differenza tra la richiesta del browser e la richiesta di arricciatura, anche perché non ricevi alcun errore. – javanna

+0

@javanna, non vedo alcuna differenza. Continuerò a provare. – asuka

risposta

4

1.Try utilizzare -A per specificare l'User-Agent

curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" http://localhost:8983/solr/admin/cores?action=RELOAD\&core=mycore 

2.Curl non può exec js script

Quindi assicuratevi che non sia dovuto agli script js.

È possibile utilizzare gli strumenti di sviluppo di chrome o Firebug + Firefox per controllare il processo di comunicazione http.

3.Utilizzare wirehark o sth per verificare se "la chiamata arriva al server Solr" oppure no.

Spero che questo aiuti.

+0

Nessuna differenza quando si aggiunge un agente -A che potrei vedere. –

13

Cercare di racchiudere l'URL nel comando con doppi apici come segue:

curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=mycore" 

Spero che questo aiuti