¿Para qué sirven las tablas search_index y search_dataset, puedo limpiarlas?

8

Estoy tratando de volcar sql del sitio de desarrollo local al servidor de producción, descubrí que search_index & search_dataset estas dos tablas son grandes, hicieron que el archivo sql sea realmente grande.

Supongo que estas dos tablas tratan de almacenar índices de búsqueda que siempre puedo volver a indexar desde cero más adelante. Corrígeme si está equivocado.

Entonces, ¿ está bien / seguro eliminar todos los registros de ellos ? luego exportar la base de datos, importar a mi servidor. Al hacer esto, puedo reducir el tamaño del archivo de volcado.

¡Gracias!

gilzero
fuente
Solo una nota rápida: no tiene que eliminar todos los registros y luego exportar. Si usa drush ... haga algo comodrush sql-dump --structure-tables-list=search_index,cache,cache_form
General Redneck

Respuestas:

10

Estas tablas son utilizadas por la función de búsqueda del sitio, como lo proporciona el módulo de búsqueda del núcleo. Están construidos a partir del contenido de su sitio, y las descripciones en código en search_schema()dicen:

  • search_dataset - "Almacena artículos que serán buscados"
  • search_index - "Almacena el índice de búsqueda, asociando palabras, elementos y puntajes"

Aunque puede ignorar / truncar el contenido de estas tablas para mantener los volcados de su base de datos más pequeños, se volverán a crear durante las ejecuciones cron a medida que se vuelva a indexar el contenido de su sitio. Tenga en cuenta que los tiempos de reconstrucción pueden ser largos si su sitio tiene mucho contenido.

Siempre he encontrado que el módulo Copia de seguridad y migración es mucho más práctico que MySQL de línea de comandos, ya que las tablas y / o su contenido pueden ignorarse, además de realizar volcados programados y tener varios perfiles de exportación / importación.

Jim Kirkpatrick
fuente