Сервер VPS: Ubuntu 18.04, LAMP, Nginx, файрвол выключен. Установил Sphinx, с горем пополам настроил индексацию одной БД, все нормально (проиндексировалась), потом переделал для новой БД (старая оказалась не нужна, и ее индекс, соответственно, тоже).
Настроил конфиг сфинкса:
source table_sourse
{
# Тип данных (mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc)
type = mysql
# Необходимые параметры для подключения к базе данных
sql_host = localhost
sql_user = User
sql_pass = Pass
sql_db = table
sql_port = 3306
# пред-запрос, выполняется перед выполнением основного запроса на получение данных из базы (кодировка UTF-8)
sql_query_pre = SET NAMES utf8
# запрос, который получает данные документов для поиска (первое поле обязательно уникальный положительный ID документа)
sql_query = SELECT code, name, nds, posh FROM table
sql_attr_bigint = code
sql_attr_string = name
}
# индекс для поиска
index table
{
# Источник данных (таблица в БД) для индексирования
source = table
# Адрес, где будут хранится данные индекса
path = /home/user/data
# Индекс с учетом морфологии
morphology = stem_ru
# Минимальная длина слова для индексации
min_word_len = 1
# Кодировка
charset_type = utf-8
# Так и не понял, что это, поэтому закомментировал
# docinfo = extern
}
indexer
{
mem_limit = 1024M # лимит памяти для работы индексатора
}
# Поисковая служба
searchd
{
# какой порт и какой протокол "слушает" служба
listen = 9306:mysql41
# файл с логами
log = /var/log/sphinxsearch/searchd.log
# файл с логами поисковых запросов
query_log = /var/log/sphinxsearch/query.log
read_timeout = 60
max_children = 30
# PID file, searchd process ID file name
pid_file = /var/run/sphinxsearch/searchd.pid
seamless_rotate = 0
preopen_indexes = 1
unlink_old = 1
binlog_path = /var/lib/sphinxsearch/data
}
Перезагрузил сервер. Вошел как root, запускаю Сфинкс командой:
searchd
Потом запускаю индексирование:
sudo indexer --all
До этого рекомендовали мне удалить PID файл (сделал, но могу восстановить) и старый индекс. Все сделал, но мало что изменилось.
В итоге, при запуске индексации, получается такое:
Будто бы он выполнил эту индексацию, но файлов индекса в папке /var/lib/sphinxsearch/ нет (вообще никаких файлов нет).
Да, еще уточнение: в этой БД столбцом с уникальным номером сроки является столбец name. Сфинкс на него тоже ругается (см. скрин)
В чем заключается ошибка, и как ее исправить?