Задать вопрос
Silentium
@Silentium

Взвешивание атрибутов в Sphinx?

Настраиваю поиск на сайте. Необходимо, чтобы документы с определенным булевым атрибутом уходили в конец списка, но при точном попадании были на первой странице.

Сейчас есть такое:
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'available DESC, priced DESC, @weight DESC');


Но хочется, чтобы страницы с атрибутом 0 не уходили в конец, а у них просто снижался вес.

Есть ли возможность такое реализовать? Режим поиска EXTENDED2.


Перелопатил гору документации, блогов, форумов, но ответа не нашел.
  • Вопрос задан
  • 4040 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Shedar
@Shedar
Формируете выражение, учитывающее значение атрибута и вес документа. Например что-то вроде
@weight*IF(@myAttr, 1, 0.3)
И используете SPH_SORT_EXPR для сортировки.
sphinxsearch.com/docs/manual-2.0.1.html#sort-expr
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽