Comment supprimer toutes les données de solr
par commande ? Nous utilisons solr
con lily
y hbase
.
Comment puis-je supprimer des données à la fois de hbase et de solr ?
http://lucene.apache.org/solr/4_10_0/tutorial.html#Deleting+Data
Comment supprimer toutes les données de solr
par commande ? Nous utilisons solr
con lily
y hbase
.
Comment puis-je supprimer des données à la fois de hbase et de solr ?
http://lucene.apache.org/solr/4_10_0/tutorial.html#Deleting+Data
Si vous voulez nettoyer l'index de Solr -
vous pouvez envoyer l'url http -
http://host:port/solr/[core name]/update?stream.body=<delete><query>*:*</query></delete>&commit=true
(remplacer [core name]
avec le nom du noyau que vous voulez supprimer). Ou utilisez ceci si vous enregistrez des données xml :
<delete><query>*:*</query></delete>
Veillez à utiliser commit=true
pour valider les changements
Je n'ai pas beaucoup d'expérience dans l'effacement des données hbase.
Cette réponse traite de la façon de supprimer toutes les tables dans hbase : stackoverflow.com/questions/3990952/ . Si vous souhaitez simplement supprimer les données de la table, vous pouvez les tronquer plutôt que de les supprimer.
Est-ce qu'il supprime uniquement l'index ? ou est-ce qu'il supprime également les données réelles ?
Vous pouvez utiliser les commandes suivantes pour supprimer. Utilisez la requête "match all docs" dans une commande de suppression par requête :
'<delete><query>*:*</query></delete>
Vous devez également effectuer un commit après avoir exécuté la suppression. Ainsi, pour vider l'index, exécutez les deux commandes suivantes :
curl http://localhost:8983/solr/update --data '<delete><query>*:*</query></delete>' -H 'Content-type:text/xml; charset=utf-8'
curl http://localhost:8983/solr/update --data '<commit/>' -H 'Content-type:text/xml; charset=utf-8'
Une autre stratégie consiste à ajouter deux signets dans votre navigateur :
http://localhost:8983/solr/update?stream.body=<delete><query>*:*</query></delete>
http://localhost:8983/solr/update?stream.body=<commit/>
Docs source du SOLR :
https://wiki.apache.org/solr/FAQ#How_can_I_delete_all_documents_from_my_index.3F
Si vous souhaitez supprimer toutes les données dans Solr via SolrJ, procédez comme suit.
public static void deleteAllSolrData() {
HttpSolrServer solr = new HttpSolrServer("http://localhost:8080/solr/core/");
try {
solr.deleteByQuery("*:*");
} catch (SolrServerException e) {
throw new RuntimeException("Failed to delete data in Solr. "
+ e.getMessage(), e);
} catch (IOException e) {
throw new RuntimeException("Failed to delete data in Solr. "
+ e.getMessage(), e);
}
}
Si vous voulez supprimer toutes les données dans HBase faites quelque chose comme ceci.
public static void deleteHBaseTable(String tableName, Configuration conf) {
HBaseAdmin admin = null;
try {
admin = new HBaseAdmin(conf);
admin.disableTable(tableName);
admin.deleteTable(tableName);
} catch (MasterNotRunningException e) {
throw new RuntimeException("Unable to delete the table " + tableName
+ ". The actual exception is: " + e.getMessage(), e);
} catch (ZooKeeperConnectionException e) {
throw new RuntimeException("Unable to delete the table " + tableName
+ ". The actual exception is: " + e.getMessage(), e);
} catch (IOException e) {
throw new RuntimeException("Unable to delete the table " + tableName
+ ". The actual exception is: " + e.getMessage(), e);
} finally {
close(admin);
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.