Вы можете сделать это без обновления / изменения базы данных - просто изменив sql_query, из которого построен ваш индекс / источник. например,
sql_query = SELECT id, \
IF(title!='',title,'this_field_is_actually_blank') \
FROM table
Затем, убрав комментарий предыдущего автора, просто используйте отрицание в запросе сфинкса.
Кроме того, вы можете создать динамический атрибут сфинкса, по которому вы можете фильтровать. например,
sql_query = SELECT id, \
title, \
IF(title!='',1,0) AS title_is_not_blank \
FROM table
sql_attr_uint = title_is_not_blank
Затем убедитесь, что вы выбрали title_is_not_blank=1
для каждого поиска.
Или, в зависимости от вашего приложения, если никогда никогда не нужны приложения с пустым содержимым, просто удалите их с предложением sql_query WHERE
. например,
sql_query = SELECT id, \
title \
FROM table
WHERE title!=''