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?

12
demandé sur fresskoma 2010-08-28 19:17:13

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!

11
répondu The Surrican 2012-10-04 17:25:26

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 .

2
répondu Paul A Jungwirth 2017-05-23 10:29:26

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!

1
répondu Eric Pugh 2010-08-30 15:57:57