В процессе настройки фасетного поиска на сайте возникла необходимость использовать "Min/Max UI Slider" виджет для числовых значений. Но тип материала который фильтруется часто имеет несколько числовых параметров в одном и том же поле, и при выборе Min/Max UI Slider, получаю: "SearchApiException: Cannot sort of a list type. in SearchApiDbService->search()".
Смысл сообщения как я понимаю: не фильтруем списки. Но в моем случае есть 6 полей по несколько числовых значений, и надо чтобы фильтровались они именно ползунком. Кто сталкивался с такой ситуацией, подскажите куда копать/смотреть/идею: как реорганизовать поля, чтобы такая фильтрация стала возможна . Буду очень признателен.
Комментарии
Sort != filter
Ок, не равно. Но Вы прочитав сообщение и посчитали уместным, именно это написать ? Для кого??? Если понимаете в чем речь, то пару строк, ссылку. А то, да в принципе ладно...
Нашел такой модуль Search API Combined Fields, вроде как тестировался с Search API, но видео нашел только с exposed фильтрами https://www.youtube.com/watch?v=_9AVdfZsoiE. Предполагаю что для Jquery UI Slider, подключенном через Search Api ranges не совсем то, но для других случаев: может объединять несколько полей в одно и фильтровать как одно. Фасет с таким полем создал, но вывести не смог.
//Но это вероятно связано с тем, что сайт достался как студийный недоделок с поломанной базой. Вот жду что нормальный бэкап сбросят, на нем посмотрю. Если кто нибудь пользовался в связке с Search Api ranges, интересно ваше мнение, по этому модулю.
По модулю Search API Combined Fields. Да числовые поля может соединять в список но грабли те же SearchApiException: Cannot sort on field search_api_combined_1 of a list type. in SearchApiDbService->setQuerySort(). Если в настройках поставить "Multi-value field" (No), то просто по первому значению из списка выбирает. Что-то идей нет, видимо придется просто задавать шаг ранжирования, и без ползунка выводить в текстовом виде.
Ну в общем проблема "SearchApiException: Cannot sort of a list type. in SearchApiDbService->search()" решена. Решение вот: https://www.drupal.org/node/2461797