2012-01-03 23 views
16

Tengo un schema.xml SOLR como esto:Cómo eliminar los datos indexados SOLR por consulta con curl?

<field name="cartype" type="lowercase" indexed="true" stored="true"/> 
<field name="color" type="lowercase" indexed="true" stored="true"/> 

quiero borrar "azul" y "Combi" registros de la base de datos SOLR etiqueta con un comando curl.

Pero no hacer eso con comando siguiente:

curl http://46.231.77.98:7979/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete>(cartype:stationwagon)AND(color:blue)</delete>" 

¿Tiene alguna sugerencia?

Respuesta

27

Tienes que agregar la etiqueta query.

<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete> 
+0

Gracias, funciona. –

+0

¿Es esto equivalente a '+ cartype: stationwagon + color: blue'? – devios1

1

De esta manera sería más fácil: curl "http://46.231.77.98:7979/solr/collection/update/?commit=true&stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete>"

Es un simple petición GET y que acaba de añadir el parámetro
stream.body=<delete><query>(cartype:stationwagon)AND(color:blue)</query></delete> a la cadena de consulta.

Cuestiones relacionadas