Сочетание нескольких расширенных фильтров поиска

Привет! В моем большом импортированном форуме было бы крайне полезно иметь возможность комбинировать несколько поисковых фильтров, чтобы помочь пользователям находить активность в старых темах, в которых они участвовали на старом форуме, например in:posted in:unseen или in:watching in:tracking.

Кроме того, запрос in:posted полезен для получения списка всех тем, которые пользователь создал и/или в которых участвовал, но сортировка «По: Последнему сообщению» работает не так, как я ожидаю. Она упорядочивает результаты по последнему сообщению, опубликованному именно этим пользователем. Хотя это тоже может быть полезно, в целом было бы гораздо удобнее сортировать по последней активности любого участника, по сути создавая своего рода личный список тем /latest, отсортированный по самому последнему сообщению, но содержащий только темы, в которых участвовал пользователь.

4 лайка

Это (в какой-то степени) уже работает.
Если вы введете в поле поиска:
status:noreplies after:2023-01-01

то получите все темы без ответов с 1 января 2023 года.

Я также экспериментировал с интерфейсом расширенного поиска: если выбрать 2–3 критерия поиска, они будут добавлены в поле поиска в том порядке, в котором вы их выбирали.

Что касается полного списка всех фильтров расширенного поиска, я сам ищу эту информацию… возможно, опубликую здесь, когда список пополнится.

Хм, вместе можно выбрать только флажки. Варианты из этого меню взаимоисключающие:

Это верно, НО при построении сложного поискового запроса необходимо объединять различные критерии поиска: какая категория И какой статус И с какой даты и т. д.

Некоторые выпадающие списки в интерфейсе расширенного поиска позволяют выбирать несколько значений (например, категории), но для других, как вы заметили, значения взаимоисключающие, поэтому логично, что можно выбрать только одно:

Привет, ты уже нашел решение этой проблемы? Я пытаюсь создать ссылку для поиска тем без ответов, но только тех, которые еще открыты (у нас темы автоматически закрываются через 60 дней после публикации).

Я думаю, для этого можно использовать строки запроса в списках тем. Например, https://meta.discourse.org/latest?solved=no&status=open

Подробнее о строках запроса — Using query strings to filter topic views

2 лайка

Кажется, это работает. Но вам нужно ввести один фильтр вручную, так как в выпадающем списке можно выбрать только один.
https://meta.discourse.org/search?q=status%3Aunsolved%20status%3Aopen
Однако строки запроса — лучшее решение, если вы не хотите добавлять поисковый термин.

1 лайк

Спасибо @JammyDodger и @Moin, это решило проблему :slight_smile:

2 лайка

Выпадающий список «Показывать только темы/сообщения…» теперь поддерживает множественный выбор

1 лайк