Если ваш view базируется на search API источнике данных, то важно, чтобы данные были проиндексированы. Но иногда форма переиндексации отсутствует на странице выбранного индекса в разделе админки search API.
Если обратиться к контроллеру страницы, чтобы проверить условия, при которых форма показывается, то станет ясно, что требуется.
modules/contrib/search_api/src/Controller/IndexController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public function page(IndexInterface $search_api_index) { // Build the search index information. $render = [ 'view' => [ '#theme' => 'search_api_index', '#index' => $search_api_index, ], ]; // Check if the index is enabled and can be written to. if ($search_api_index->status() && !$search_api_index->isReadOnly()) { // Attach the index status form. $render['form'] = $this->formBuilder()->getForm('Drupal\search_api\Form\IndexStatusForm', $search_api_index); } return $render; } |
Нужно чтобы поисковый индекс был активен, а также не был установлен флаг readonly в его настройках.
Проверьте флаг «read only» (снимите его) и форма должна появиться. Тогда вы сможете запустить переиндексацию данных.
Иначе индексация данных происходить не будет ни в ручном, ни в автоматическом (по cron) режимах.