Comment dump/backup un index Solr vers un fichier?
j'exécute un serveur privé virtuel où, tous les jours à minuit, tous les fichiers sont sauvegardé automatiquement par le fournisseur de VPS.
donc j'ai besoin de exporter l'index Solr à un fichier, de sorte que si quelque chose tourne mal un jour, je serai en mesure de importer retour à Solr avec facilité.
Comment faire?
3 réponses
la base de données Solr est un (ou plusieurs) fichier(s). Il y a un dossier qui ressemble à ceci:
root@vs210044:/home/solr/apache-solr-1.4.0/example/solr/data/index# ls
segments.gen _xzy.tii _y26.tii _y4f.tii _y6o.tii _y8n.tii _y9i.tis _y9k.fdt _y9l.fdx _y9m.fnm
segments_uud _xzy.tis _y26.tis _y4f.tis _y6o.tis _y8n.tis _y9j.fdt _y9k.fdx _y9l.fnm _y9m.frq
_xzy_2n.del _y26_20.del _y4f_1z.del _y6o_21.del _y8n_2.del _y9i.fdt _y9j.fdx _y9k.fnm _y9l.frq _y9m.nrm
_xzy.fdt _y26.fdt _y4f.fdt _y6o.fdt _y8n.fdt _y9i.fdx _y9j.fnm _y9k.frq _y9l.nrm _y9m.prx
_xzy.fdx _y26.fdx _y4f.fdx _y6o.fdx _y8n.fdx _y9i.fnm _y9j.frq _y9k.nrm _y9l.prx _y9m.tii
_xzy.fnm _y26.fnm _y4f.fnm _y6o.fnm _y8n.fnm _y9i.frq _y9j.nrm _y9k.prx _y9l.tii _y9m.tis
_xzy.frq _y26.frq _y4f.frq _y6o.frq _y8n.frq _y9i.nrm _y9j.prx _y9k.tii _y9l.tis
_xzy.nrm _y26.nrm _y4f.nrm _y6o.nrm _y8n.nrm _y9i.prx _y9j.tii _y9k.tis _y9m.fdt
_xzy.prx _y26.prx _y4f.prx _y6o.prx _y8n.prx _y9i.tii _y9j.tis _y9l.fdt _y9m.fdx
cependant: il suffirait de sauvegarder ce dossier. vous pouvez tout aussi bien sauvegarder votre installation solr entière en utilisant rsync incrémental ou n'importe quoi d'autre... une fois relancé, seuls les caches devront être remplis à nouveau, etc.
mais: j'espère que solr n'est pas votre base de données principale? sa destinée à être un moteur de recherche et non d'un remplacement pour une base de données et même pas une sauvegarde! tout comme les répliques mysql sont agréables à faire l'équilibrage de charge, mais sont inutiles comme une sauvegarde... pourquoi? parce qu'avec la même requête vous pourriez finir avec un index vide. c'est la même chose avec solr/lucene. ... ou pour beaucoup, beaucoup d'autres raisons qui ont des gens beaucoup plus brillants déjà discuté.
en gardant cela à l'esprit, je vous souhaite une bonne journée!
s'il vous Plaît voir mon autre réponse au sujet de prendre des sauvegardes à chaud à l'aide de Solr est ReplicationHandler. Vous pouvez juste wget
une URL et Solr va snapshot en toute sécurité votre répertoire de données. Je ne prendrais pas un instantané en utilisant cp
.
si vous êtes préoccupé par le maintien des États incrémentiels, il y a un certain nombre de scripts shell qui peuvent être configurés pour fonctionner, soit programmés via cron, soit après des propagations et des optimisations.
pour en savoir plus http://wiki.apache.org/solr/SolrOperationsTools
une chose que je voudrais noter est que, tandis que Solr est probablement pas généralement utilisé comme le principal "Système D'enregistrement", mais comme un auxiliaire de quelque autre magasin de données, il n'y a pas quelque chose qui exige que!
il existe de nombreux cas d'utilisation où si vous avez perdu vos indices Solr, vous perdrez vos données. Pensez à un site qui parcourt internet pour obtenir des données précises. La seule copie de chaque résultat de crawl pourrait être seulement dans Solr, et je pense, avec des sauvegardes appropriées, qui est d'accord!