Не работает поиск по приоритету категорий при пустом запросе?

История:
Я создал страницу под названием No Replies для своего форума по следующему URL:
<discourse_forum>/search?q=status%3Asingle_user%20in%3Aunsolved%20status%3Aopen%20order%3Alatest_topic

Это создаёт пустой поисковый запрос со следующими параметрами расширенного поиска:

status:single_user in:unsolved status:open order:latest_topic

По сути, это используется для поиска нерешённых тем, на которые никто не ответил (чтобы мы могли уделить им первоочерёдное внимание).

В чём проблема?:
Есть такие категории, как Новости, Объявления и т. д., где наличие поста без ответов совершенно нормально. Однако они появляются в приведённом выше поиске.

Что я попробовал:
Для упомянутых выше категорий (где отсутствие ответов не следует воспринимать серьёзно) я установил «Приоритет поиска» для этих категорий как Очень низкий, чтобы они отображались в конце при поиске.

Но этого, похоже, не происходит. Даже когда я сортирую результаты поиска по Релевантности, они всё равно появляются в начале списка.
image

Только когда я устанавливаю «Приоритет поиска» как Игнорировать для этих категорий, приоритизация поиска, кажется, работает (то есть темы из игнорируемых категорий исчезают).

Может ли кто-нибудь объяснить поведение приоритизации? (с пустым поисковым запросом)
И предложить решение, чтобы темы категорий с низким приоритетом всегда оказывались внизу?

Примечание: Если это не ошибка, пожалуйста, не стесняйтесь переместить это в соответствующую категорию.

1 лайк

Граничный баг/фича. Я поддерживаю её исправление: в данном случае приоритет не применяется, так как он устанавливается позже, когда мы ищем что-либо. У вас нет возможности искать «ничего».

Добавляю pr-welcome к этому.

3 лайка

Привет! Мне интересна эта проблема. Я создал pull request на GitHub.

Обновление применит приоритет поиска по категориям при:

  1. Пустой строке запроса и
  2. Не указанном порядке

PR готов: FIX: Apply category priority for empty query #9516

5 лайков

PR был слит несколько недель назад.

3 лайка