Wofür sind search_index & search_dataset-Tabellen? Kann ich sie bereinigen?

8

Ich versuche, SQL von der lokalen Entwickler-Site auf den Produktionsserver zu übertragen. Ich habe festgestellt, dass search_index & search_dataset diese beiden Tabellen groß sind und die SQL-Datei wirklich groß gemacht hat.

Ich vermute, in diesen beiden Tabellen geht es um das Speichern von Suchindizes, die ich später immer wieder neu indizieren kann. Korrigieren Sie mich, wenn Sie falsch liegen.

Ist es also in Ordnung / sicher, alle Datensätze von ihnen zu löschen ? Exportieren Sie dann die Datenbank und importieren Sie sie auf meinen Server. Auf diese Weise kann ich die Dateigröße der Dump-Datei reduzieren.

Vielen Dank!

Gilzero
quelle
Nur eine kurze Anmerkung: Sie müssen nicht alle Datensätze löschen und dann exportieren. Wenn Sie Drush verwenden ... tun Sie etwas wiedrush sql-dump --structure-tables-list=search_index,cache,cache_form
General Redneck

Antworten:

10

Diese Tabellen werden von der Suchfunktion der Site verwendet, die vom Suchmodul des Kerns bereitgestellt wird. Sie basieren auf dem Inhalt Ihrer Website und den Beschreibungen im Code in search_schema():

  • search_dataset - "Speichert Elemente, die durchsucht werden sollen"
  • search_index - "Speichert den Suchindex und ordnet Wörter, Elemente und Partituren zu."

Obwohl Sie den Inhalt dieser Tabellen ignorieren / abschneiden können, um Ihre Datenbank-Dumps kleiner zu halten, werden sie während der Cron-Läufe neu erstellt, wenn der Inhalt Ihrer Site neu indiziert wird. Beachten Sie, dass die Wiederherstellungszeiten sehr lang sein können, wenn Ihre Website viele Inhalte enthält.

Ich habe immer festgestellt, dass das Backup and Migrate-Modul viel einfacher ist als das Befehlszeilen-MySQL, da Tabellen und / oder deren Inhalt ignoriert werden können, geplante Dumps erstellt werden und verschiedene Export- / Importprofile vorhanden sind.

Jim Kirkpatrick
quelle