2012-07-18 18 views
12

Estoy intentando recargar el núcleo Solr (versión 3.6.0) por medio de la siguiente frase:núcleo Recargar Solr con curl

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

Cuando ejecuto, me sale la siguiente respuesta:

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

Obtengo una respuesta similar cuando pongo dicha URL en mi navegador (la diferencia es el valor de QTime).

Mi problema es que, si llamo a la URL desde el navegador, puedo ver en el registro que la recarga se ejecuta, pero si la llamo desde la instrucción CURL, no puedo ver nada en mi registro información (es decir, no se ha ejecutado ningún proceso de recarga).

¿Debo cambiar algunos datos de configuración? Parece que la llamada no se llega al servidor Solr ...

+0

Su solicitud rizo parece bien, no veo por qué no puede haber una diferencia entre la solicitud del navegador y la solicitud de curl, incluso porque no está recibiendo ningún error. – javanna

+0

@javanna, tampoco veo ninguna diferencia. Voy a seguir intentándolo. – asuka

Respuesta

4

1.Try utilizar -A para especificar el 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 lata no exec js guiones

Así que asegúrese de que no sea por los scripts js.

Puede usar Developer Tools de chrome o Firebug + Firefox para verificar el proceso de comunicación http.

3. Utilice wireshark o sth para comprobar si "la llamada está llegando al servidor Solr" o no.

Espero que ayude.

+0

No hay diferencia al agregar un agente que pude ver. –

13

Trate de adjuntar la dirección URL en el comando con comillas dobles como sigue:

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

Esperanza esto ayuda