Я, чтобы не делать всякий поиск/фильтрацию по сложным json-структурам, хранимым в multiTV, при сохранении документа плагином эти значения в отдельные таблицы разношу. А далее делаю create temporary table или create view, в зависимости от задачи, куда с помощью left join заношу нужные поля из контента и из этих временных таблиц/view. Сначала думал, что будет неимоверно тормозить, но по факту mysql хорошо все это дело кеширует. И далее уже эти временные таблицы (или view) доклистером и вывожу, и сортирую, и фильтрую т.д.