Проблема с Manticore Search: таблица news не найдена

При попытке подключиться к Manticore Search через Docker возникает ошибка: SHOW TABLE STATUS requires an existing table. Индексация данных проходит успешно, но таблица не обнаруживается. Ниже приведены детали конфигурации и описание проблемы.

Конфигурация Docker

manticore:
    build: data/docker/manticore
    restart: always
    volumes:
      - ./data/docker-files/manticore/data:/var/lib/manticore/data
      - ./data/docker-files/manticore/logs:/var/log/manticore
      - ./data/docker/manticore/manticore.conf.dist:/etc/manticoresearch/manticore.conf
    ports:
      - 9306:9306
      - 9308:9308
      - 9312:9312
    depends_on:
      - mysql
    command: sh -c "sleep 10 && indexer --all --rotate && searchd --nodetach"

Конфигурация Manticore

Источник данных (source)

source main
{
    type          = mysql
    sql_db        = bd
    sql_query_pre = SET CHARACTER_SET_RESULTS=utf8
    sql_query_pre = SET NAMES utf8
    sql_user      = tipa_user
    sql_pass      = tipa pass
    sql_port      = 3306
    sql_host      = mysql
}

searchd
{
    listen = 9312
    listen = 9306:mysql
    listen = 9308:http
    pid_file = /run/manticore/searchd.pid
}

source news : main
{
    sql_query = \
            SELECT \
                post_id, \
                title, \
                intro, \
                content \
            FROM \
                news\
            WHERE \
                object_type_id = 3

    sql_attr_uint = post_id
}

Таблица (table)

table news
{
    source = news
    path = /var/lib/manticore/data/news
    morphology           = stem_ru, stem_enru
    min_word_len         = 2
    expand_keywords      = 1
    html_strip           = 1
}

В каталоге data создаются индексные файлы.

Код подключения к клиенту

use Manticoresearch\Client;

class ManticoreSearch
{
    private ?Client $_client = null;

    public function connect(): void
    {
        if ($this->_client === null || !empty($this->_client->getConnections())) {
            $this->_client = new Client([
                'host' => 'manticore',
                'port' => 9308,
            ]);
            var_dump($this->_client->table('news')->status());
        }
        exit;
    }
}

Описание проблемы

  • При выполнении кода выводится ошибка: SHOW TABLE STATUS requires an existing table
  • Индексация выполняется успешно, но таблица не распознается
  • Возможные причины: несоответствие имени таблицы, неправильная конфигурация или задержка после индексации

Вопрос

Как правильно настроить Manticore Search в Docker, чтобы таблица news была доступна после индексации?