Untuk apa tabel search_index & search_dataset, dapatkah saya membersihkannya?

8

Saya mencoba untuk membuang sql dari situs dev lokal ke server produksi, saya menemukan bahwa search_index & search_dataset dua tabel ini besar, membuat file sql sangat besar.

Saya menduga dua tabel ini adalah tentang menyimpan indeks pencarian yang saya selalu dapat mengindeks ulang dari awal nanti. Koreksi saya jika salah.

Jadi tidak apa-apa / aman untuk menghapus semua catatan mereka ? lalu ekspor database, impor ke server saya. Dengan melakukan ini saya dapat mengurangi ukuran file dari file dump.

Terima kasih!

gilzero
sumber
Hanya catatan singkat: Anda tidak perlu menghapus semua catatan dan kemudian mengekspor. Jika Anda menggunakan drush ... lakukan sesuatu sepertidrush sql-dump --structure-tables-list=search_index,cache,cache_form
Jenderal Redneck

Jawaban:

10

Tabel ini digunakan oleh fungsi pencarian situs, seperti yang disediakan oleh modul Pencarian inti. Mereka dibangun dari konten situs Anda, dan deskripsi dalam kode search_schema()mengatakan:

  • search_dataset - "Menyimpan item yang akan dicari"
  • search_index - "Menyimpan indeks pencarian, mengaitkan kata, item, dan skor"

Meskipun Anda dapat mengabaikan / memotong konten tabel ini untuk menjaga agar dump database Anda lebih kecil, mereka akan dibuat kembali selama cron berjalan ketika konten situs Anda diindeks ulang. Berhati-hatilah karena waktu pembuatan ulang bisa lama jika situs Anda memiliki banyak konten.

Saya selalu menemukan modul Cadangan dan Migrasi jauh lebih mudah daripada MySQL baris perintah karena tabel dan / atau isinya dapat diabaikan, ditambah melakukan dump yang dijadwalkan dan memiliki berbagai profil ekspor / impor.

Jim Kirkpatrick
sumber