Я столкнулся с проблемой, из-за которой наши SQL-запросы Sphinx усекаются. Это было связано с ограничением по умолчанию для функции Group Concat в MySQL 1024 байта.
Я использовал следующее в моем Sphinx.conf, чтобы исправить эту проблему:
sql_query_pre = SET SESSION group_concat_max_len = 10000
Это устранило проблему на моем локальном компьютере. Однако я обновил sphinx.conf на нашем промежуточном сервере и выполнил команду:
indexer --config sphinx.staging. Версия сервера: CentOS Linux, выпуск 7.2.1511 Mysql: libmysql - 5.5.47-MariaDB (локальная версия: libmysql - mysqlnd 5.0.10)
Я не особо разбираюсь в Sphinx, поэтому, возможно, пропустил какой-то очевидный шаг. Кроме того, мы не хотим изменять ограничения по умолчанию в нашей конфигурации MySql, поскольку они обеспечивают некоторую защиту в других ситуациях.
Проблема заключалась в том, что если у вас есть общий раздел конфигурации, который содержит:
исходный код sCommon sql_query_pre = SET SESSION group_concat_max_len = 10000
, но, следовательно, в дочернем разделе конфигурации, который наследует общую конфигурацию, определите другой параметр sql_query_pre:
source sUsers: sCommon sql_query_pre = SET NAMES utf8
они перезапишут любые настройки, которые были применены в общей конфигурации, и, следовательно, общая конфигурация не будет применена.