Pouvez-vous supprimer un champ d'un document dans l'index Solr?
J'ai un gros indice, et pendant le processus d'indexation, il y avait une erreur. Donc pour éviter de réindexation qui dure plusieurs jours, je veux simplement supprimer le champ spécifique et réindexer. Est-il une suggestion?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas. La solution serait d'obtenir le document, de les stocker temporairement dans la mémoire, supprimer, mettre à jour le champ requis (supprimer, ajouter), puis ajouter le document à l'index.
Si vous utilisez Solr 4, vous pouvez utiliser AtomicUpdate http://wiki.apache.org/solr/Atomic_Updates
pour supprimer un champ beaucoup plus facilement. Par exemple:
vous pouvez faire si votre repos des champs sont stockés j'.e
stored="true "
.comme suit par la mise en valeur null.source:https://wiki.apache.org/solr/UpdateXmlMessages
Vous pouvez supprimer le document indexé par son id. Si vous souhaitez modifier le schéma par la suppression d'un champ, alors oui, vous auriez à réindexer.
Vous pouvez supprimer tous les index de l'aide de la commande supprimer et une requête comme ceci:
À l'aide de l'argument
-Dcommit
force pour mettre à jour l'index, et donc, attention à ne pas la suppression de tous les documents, lorsque vous ne voulez pas.Vous pouvez supprimer la valeur indexée w.r.t. un champ dans Solr, mais pas le terrain.
Si vous voulez vraiment supprimer un champ spécifique lors de l'indexation, alors vous devez configurer le champ schema.xml fichier avant de l'indexation du document.