Para que servem as tabelas search_index e search_dataset, posso limpá-las?


8

Estou tentando despejar o sql do site de desenvolvimento local para o servidor de produção. Descobri que search_index e search_dataset essas duas tabelas são grandes, tornaram o arquivo sql muito grande.

Suponho que essas duas tabelas são sobre o armazenamento de índices de pesquisa, que eu sempre posso reindexar do zero mais tarde. Corrija-me se estiver errado.

Então, é certo / seguro excluir todos os registros deles ? depois exporte o banco de dados, importe para o meu servidor. Ao fazer isso, posso reduzir o tamanho do arquivo de despejo.

Obrigado!


Apenas uma observação rápida: você não precisa excluir todos os registros e exportar. Se você usar Drush ... fazer algo assimdrush sql-dump --structure-tables-list=search_index,cache,cache_form
Geral do campónio

Respostas:


10

Essas tabelas são usadas pela função de pesquisa do site, conforme fornecido pelo módulo de pesquisa do núcleo. Eles são criados a partir do conteúdo do seu site, e as descrições no código search_schema()dizem:

  • search_dataset - "Armazena itens que serão pesquisados"
  • search_index - "Armazena o índice de pesquisa, associando palavras, itens e pontuações"

Embora você possa ignorar / truncar o conteúdo dessas tabelas para manter menores os despejos de banco de dados, eles serão recriados durante as execuções do cron, à medida que o conteúdo do site for reindexado. Lembre-se de que os tempos de reconstrução podem ser longos se o seu site tiver muito conteúdo.

Sempre achei o módulo Backup and Migrate muito mais prático do que o MySQL da linha de comando, pois as tabelas e / ou seu conteúdo podem ser ignorados, além de fazer dumps agendados e ter vários perfis de exportação / importação.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.