Поиск не принимает двоеточие в имени тегов

Не уверен, можно ли это считать настоящим багом или это скорее техническое ограничение, но поскольку поиск не работает как ожидалось, это выглядит как баг :smirking_face:

Я использую теги, а не категории, и именно поэтому у меня есть теги вида forum:guide, forum:writing, forum:faq и т. д. Префикс forum я использую потому, что у меня есть (или будут…) аналогичные теги в других контекстах, например server:guide, dogs:faq и так далее.

Почему я использую двоеточие вместо дефиса — вопрос хороший. В основном потому, что двоеточие выглядит лучше и кажется более структурно правильным. И, если я не ошибаюсь, :faq работало при поиске чуть лучше, чем -faq. Но главным образом потому, что Discourse разрешает использовать двоеточие в названиях тегов.

Я почти уверен, что это что-то недавно изменённое, но теперь, когда я начинаю вводить запрос, я получаю подсказки, как и следовало бы:

Но как только я добавляю двоеточие и продолжаю вводить текст, чтобы получить нужную подсказку или целевой поисковый запрос, происходит следующее:

Ничего. Будто поиск переключается на обычный текстовый поиск.

Я могу изменить структуру тегов, если это абсолютно необходимо, но это довольно больно — не просто как ещё одно действие поиска и замены, а потому что и я, и мои пользователи привыкли работать с такой структурой.

1 лайк

Не совсем решает вашу проблему, но работает нормально, если добавить # перед тегом.


Думаю, иначе поиск думает, что вы хотите использовать фильтр поиска, например «in:» или «status:».

4 лайка

Это правда. И обучение пользователей использованию # каждый раз при работе с тегами или группами — один из вариантов. Они уже знают, как использовать @ с пользователями — или должны знать :smirking_face:

Но проблема в самом двоеточии. Если оно станет запрещённым символом, я с этим смирюсь, но до тех пор…

1 лайк

Поскольку двоеточия выполняют в синтаксисе поиска конкретную функцию, вы, возможно, выступаете против использования двоеточий в тегах.

Интересно, сколько случаев использования двоеточий в тегах уже зафиксировано и каковы будут последствия их запрета в будущем?

2 лайка

Я даже не знаю, как искать подобные вещи. Но мы живем в мире, где теги сильно недооценены, поэтому, полагаю, их не так уж много. Однако для вас один крупный корпоративный клиент может оказаться лишним :wink:

С двоеточием всё работало раньше. Но если ситуация станет более ограничивающей из-за риска конфликтов, мне придется сдаться и начать искать другой стиль.

1 лайк

Если вы посмотрите на различные расширенные фильтры поиска, все они используют корректный синтаксис:

in:title 
in:messages 
in:likes 
in:seen 
#support:wordpress 
tags:rest-api 
@Stephen 
before:2023-11-17 
min_posts:5 
max_posts:50 
min_views:2 
max_views:200

За исключением имени пользователя, все они используют двоеточие.

Работает ли tags: для тега, в котором есть двоеточие? Это было бы хорошим индикатором того, насколько они поддерживаются в текущем виде.

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

2 лайка

Что ж, поиск работает отлично, даже при использовании tags:tag:more. Проблема заключалась/заключается в отсутствии автоматических подсказок.

Но.

Я заметил новое руководство, которое раньше упускал.

Извините за загадочный язык, но под полем поиска есть что-то вроде «# фильтрация по категории или тегу».

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

Я спокоен, пока вы, ребята, не уберёте двоеточие из названий тегов :smirking_face:

Так что это был не баг (хотя ранее он тоже предлагал теги…), а скорее вопрос поддержки/UX/UI/ошибки пользователя.

2 лайка