2010-03-01 4 views
26

Juste essayer de supprimer tous les documents, et a fait cela:Solr delete ne fonctionne pas pour une raison quelconque

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E 

alors commis:

http://localhost:8983/solr/update?stream.body=%3Ccommit/%3E 

je reçois la réponse:

<lst name="responseHeader"> 
<int name="status">0</int> 
<int name="QTime">17</int> 
</lst> 
</response> 

Mais quand je cherche Je reçois toujours des résultats.

Qu'est-ce que j'ai fait de mal?

+0

aucune erreur dans le journal Solr? –

+0

où est le journal solr, je ne pouvais pas le trouver! Je cours sur la jetée. – Blankman

+0

Peu importe, si vous avez une réponse, il n'y a pas d'erreur.Quelle est votre plateforme client? Si c'est Java, vous pouvez simplement utiliser SolrJ, ou y a-t-il une raison particulière pour laquelle vous ne l'utilisez pas? –

Répondre

30

Je ne sais pas si cela importe mais vous pouvez coder le: trop

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*%3A*%3C%2Fquery%3E%3C%2Fdelete%3E 

Une autre chose à essayer est d'utiliser la méthode POST (le meilleur moyen d'appeler la mise à jour):

curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>*:*</query></delete>' 
+2

J'ai ensuite couru une commande distincte «code» (http: // localhost: 8983/solr/mise à jour? stream.body = ) après avoir exécuté cela. Merci beaucoup –

0

En wiki Lucene:

il sera toujours trouvé, car l'indice changements ne sont pas visibles avant et un nouveau chercheur est ouvert. Pour provoquer ce se produise, envoyer une commande engager à Solr (pour vous post.jar fait par défaut )

Peut-être que vous pouvez envoyer un message à <commit/> Solr.

6

Mettez le commit = true paramètre vous demande GET:

http://localhost:8983/solr/update?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&commit=true

2

Rappelez-vous d'effacer le cache du navigateur! Je pensais que j'avais le même problème, mais il s'est avéré que le navigateur venait de mettre en cache le résultat et retournait la page en cache. D'oh!

0
http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true 
-2

Probablement vous manque une barre oblique (/) après la mise à jour et avant un point d'interrogation.

requête actuelle:

http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>&commit=true 

requête révisée:

http://localhost:8983/solr/update/?stream.body=<delete><query>*:*</query></delete>&commit=true 
7

Je me suis piqué avec celui-ci a récemment aussi. Rappelez-vous que si vous avez updateLog est configuré en solrconfig.xml, mais il n'y a pas de champ version dans le schema.xml

voir https://issues.apache.org/jira/browse/SOLR-3432

J'ai passé une bonne heure sur celui-ci !!!

+0

Commentaire fantastique. C'était exactement mon problème. – Layke

+0

+1 Merci beaucoup! Cela aurait gâché toute ma journée! –

+0

+1 Vous avez sauvé ma journée! – heinob

Questions connexes