search_indexテーブルとsearch_datasetテーブルの用途は何ですか。それらをクリーンアップできますか?


8

ローカル開発サイトから本番サーバーにSQLをダンプしようとしています。これら2つのテーブルのsearch_indexとsearch_datasetが大きく、sqlファイルが本当に大きくなっていることがわかりました。

これらの2つのテーブルは、後でいつでも最初からインデックスを再作成できる検索インデックスを格納するためのものだと思います。間違っていれば私を訂正してください。

それで、それらのすべてのレコードを削除しても大丈夫/安全ですか?次に、データベースをエクスポートし、サーバーにインポートします。これにより、ダンプファイルのファイルサイズを小さくすることができます。

ありがとう!


簡単なメモ:すべてのレコードを削除してからエクスポートする必要はありません。drushを使用する場合...次のようなことをしてくださいdrush sql-dump --structure-tables-list=search_index,cache,cache_form
General Redneck

回答:


10

これらのテーブルは、コアの検索モジュールによって提供されるように、サイトの検索機能によって使用されます。それらはあなたのサイトのコンテンツから構築されており、コード内の説明はsearch_schema()言う:

  • search_dataset- "検索されるアイテムを格納します"
  • search_index- "検索インデックスを格納し、単語、アイテム、スコアを関連付けます"

これらのテーブルの内容を無視/トランケートしてデータベースダンプを小さく保つことはできますが、サイトのコンテンツのインデックスが再作成されると、cronの実行中に再作成されます。サイトに大量のコンテンツがある場合、再構築に時間がかかる可能性があることに注意してください。

テーブルとその内容を無視できるため、バックアップと移行モジュールがコマンドラインMySQLよりもはるかに便利であることに気づきました。さらに、スケジュールされたダンプを実行し、さまざまなエクスポート/インポートプロファイルを用意しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.