web-dev-qa-db-ja.com

コア検索インデックスを削除する方法は?

コア検索をSOLRに切り替えます。 SOLRを機能させるには、コア検索モジュールを有効にする必要があります。 (かなり大きい)コア検索インデックスを削除するにはどうすればよいですか?

「検索設定/インデックスのクリア」オプションは、インデックスをクリアせず、代わりに新しいアイテムを更新することを示しています。

私は search_reindex() に出くわしました。その関数を実行するだけですか?

6
uwe

関数を正しく読み取っている場合、search_reindexは実際には検索インデックスを空にしません。これは、検索を使用するすべてのモジュールにコンテンツのインデックスの再作成を開始することを通知するだけです。

Admin/modulesの[unistall]タブを使用して検索モジュールをアンインストールして再インストールすると、すべての検索テーブルが空になります。これを行うには、すべての依存モジュールを一時的に無効にする必要があります。

または、TRUNCATE mysqlコマンドを使用してこれらのテーブルを空にすることもできます。空にする必要があるテーブルは、search_dataset、search_index、search_total、およびsearch_node_linksです。データベース管理ツールを使用してテーブルを空にすることもできます。テーブルの構造はそのままにしておいてください。テーブルを削除するのではなく、空にする必要があります。

次に、検索インデックスがいっぱいにならないように、コア検索インデックス作成を無効にする必要があります。あなたのsites/default/settings.phpファイルで、あなたは追加することができます:

$conf['search_cron_limit'] = '0';

Drupalがcronの実行時にアイテムをインデックスに追加しないようにします(検索モジュールはそのままにしておきます)。

8
drinkdecaf

検索関連テーブルを切り捨てる 検索インデックスワイプ 提供モジュールを使用することもできます。

このモジュールは、検索モジュールによって作成された検索インデックスをクリーンアップします。検索インデックスが膨大になる大規模なサイトを展開する際に役立ちます。インデックスの再作成ボタンでは、検索インデックスがクリアされず、アイテムのインデックスが再作成されるときに、既存の検索データが新しいデータに徐々に置き換えられます。このモジュールは https://drupal.org/comment/4026188#comment-4026188 によって作成されました

0
Sagar Ramgade