Скриптовая конфигурация

Конфигурация Manticore поддерживает синтаксис shebang, позволяющий писать конфигурацию на языке программирования и интерпретировать её при загрузке. Это даёт возможность динамически задавать настройки, например, создавать таблицы, выполняя запросы к таблице базы данных, изменять настройки в зависимости от внешних факторов или включать внешние файлы с объявлениями таблиц и источников.

Файл конфигурации разбирается объявленным интерпретатором, а его вывод используется в качестве фактической конфигурации. Это происходит каждый раз при чтении конфигурации, а не только при запуске searchd.

Примечание: эта функция недоступна на платформе Windows.

В следующем примере используется PHP для создания нескольких таблиц с разными именами и для сканирования определённой папки на наличие файлов с дополнительными объявлениями таблиц:

#!/usr/bin/php
...
<?php for ($i=1; $i<=6; $i++) { ?>
table test_<?=$i?> {
  type = rt
  path = /var/lib/manticore/data/test_<?=$i?>
  rt_field = subject
  ...
 }
 <?php } ?>
 ...
 <?php
 $confd_folder='/etc/manticore.conf.d/';
 $files = scandir($confd_folder);
 foreach($files as $file)
 {
         if(($file == '.') || ($file =='..'))
         {} else {
                 $fp = new SplFileInfo($confd_folder.$file);
                 if('conf' == $fp->getExtension()){
                         include ($confd_folder.$file);
                 }
         }
 }
 ?>
Last modified: August 28, 2025