2010-08-28 7 views
12

Ich verwende einen virtuellen privaten Server, auf dem jeden Tag um Mitternacht alle Dateien automatisch vom Mobilfunkanbieter gesichert werden.Wie wird ein Solr-Index in eine Datei gesichert?

Also muß ich Export der Solr-Index in eine Datei, so dass, wenn etwas schief geht, einen Tag, werde ich es mit Leichtigkeit zurück zu Solr zu importieren kann.

Wie kann ich das tun?

+0

Sie haben eine Frage zu 'solr' gestellt und sie nicht einmal mit solr getaggt. Keine Sorge, ich habe es einfach gemacht :) – shamittomar

+1

duplizieren: http://StackOverflow.com/Questions/3505979/How-to-backup-a-solr-Datenbank http://StackOverflow.com/Questions/3083314/Solr-Incremental -backup-on-echtzeit-system-mit-schwer-index –

+0

gut ... zustimmen php, sql, apache sind in der Tat WRONG-Tags -... –

Antwort

11

Die Solr-Datenbank ist eine (oder ein paar) Datei (en). Es ist ein Ordner, der etwa wie folgt aussieht:

[email protected]:/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 

ABER: es würde genügen, um diesen Ordner zu speichern. Sie können auch nur Ihre gesamte Solr Installation mit incremental rsync oder was auch immer ... nur einmal neu gestartet nur Caches müssen neu gefüllt werden usw.

ABER: ich hoffe, Solr ist nicht Ihre primäre Datenbank? Es sollte eine Suchmaschine sein und kein Ersatz für eine Datenbank und nicht einmal ein Backup! genau wie mysql-replikationen sind nett zu load balancing aber sind nutzlos als backup ... warum? Denn mit der gleichen Abfrage könnten Sie mit einem leeren Index enden. Das gleiche gilt für Solr/Lucene. ... oder für viele, viele andere Gründe, die bereits viel brillantere Leute diskutiert haben.

unter diesem Gesichtspunkt wünsche ich Ihnen einen guten Tag!

+0

Hi. Meinst du, dass die Sicherung dieses Verzeichnisses ausreichend ist? Mit anderen Worten, wenn etwas schief geht und ich das gesicherte Verzeichnis einfüge und diese Dateien überschreibe, bekomme ich meinen Index zurück? Btw, ich benutze solr als Suchmaschine ja ... Danke –

+0

ja. das ist richtig. aber nur wenn die Einstellungen gleich bleiben. Daher würde ich den gesamten Installationsordner sichern. –

+4

Achtung! Stellen Sie sicher, dass Sie solr stoppen, bevor Sie das Datenverzeichnis sichern, oder dass aufgrund von fehlenden Segmentdateien ein unbrauchbarer Index übrig bleibt. – samy

1

Wenn Sie Bedenken haben, inkrementelle Status zu behalten, gibt es eine Reihe von Shell-Skripten, die entweder über cron oder nach Commits geplant und optimiert werden können.

Erfahren Sie mehr auf http://wiki.apache.org/solr/SolrOperationsTools

Eine Sache, die ich beachten würde, ist, dass, während Solr wahrscheinlich die Regel nicht verwendet als primäres „System of Record“, sondern als Hilfsmittel zu einem anderen Datenspeicher ist, gibt es nicht alles, was das erfordert!

Es gibt viele Anwendungsfälle, in denen Sie Ihre Daten verlieren würden, wenn Sie Ihre Solr-Indizes verloren hätten. Stellen Sie sich eine Site vor, die das Internet nach bestimmten Daten durchsucht. Die einzige Kopie jedes Crawl-Ergebnisses könnte nur in Solr sein, und ich denke, mit entsprechenden Backups ist das in Ordnung!

2

Bitte lesen Sie my other answer über Hot Backups mit Solr ReplicationHandler. Sie können einfach wget eine URL und Solr wird Ihr Datenverzeichnis sicher Snapshot. Ich würde keinen Schnappschuss mit cp machen.

Verwandte Themen