Настройка group_concat_max_len в конфигурации Sphinx не применяется

Я столкнулся с проблемой, из-за которой наши SQL-запросы Sphinx обрезаются. Это произошло из-за того, что ограничение по умолчанию для функции Group Concat в MySQL составляло 1024 байта.

Я использовал следующее в своем Sphinx.conf, чтобы исправить эту проблему:

sql_query_pre = SET SESSION group_concat_max_len = 10000

Это исправило проблему на моей локальной машине. Однако я обновил sphinx.conf на нашем промежуточном сервере и выполнил команду:

indexer --config sphinx.staging.conf --all --rotate

обновить индексы, но групповая часть запроса все еще усекается до 1024 байтов.

Версия Sphinx: 2.2.10 Версия сервера: CentOS Linux выпуск 7.2.1511 Mysql: libmysql - 5.5.47-MariaDB (локальная версия: libmysql - mysqlnd 5.0.10)

Я не особо разбираюсь в сфинксе, поэтому, возможно, пропустил какой-то очевидный шаг. Кроме того, мы не хотим изменять ограничения по умолчанию в нашей конфигурации MySql, поскольку они обеспечивают некоторую защиту в других ситуациях.

1 ответ

Решение

Проблема заключалась в том, что если у вас есть общий раздел конфигурации, который содержит:

source sCommon sql_query_pre = SET SESSION group_concat_max_len = 10000

но, следовательно, в дочернем разделе конфигурации, который содержит общую конфигурацию, определите другой параметр sql_query_pre:

источник sUsers: sCommon sql_query_pre = SET NAMES utf8

они перезапишут любые настройки, которые были применены в общей конфигурации, и, следовательно, общая конфигурация не будет применена.

Другие вопросы по тегам