Поиск по маске

Здравствуйте,

Есть ли какой-нибудь (простой) способ заставить работать функцию поиска по шаблону в моём Discourse?

Я запускаю небольшой закрытый Discourse локально на работе. У нас всего около 10 пользователей, поэтому объём постов не сопоставим с крупными сообществами.

Я видел этот плагин Algolia, который кажется идеальным решением, НО это означает, что форум должен быть проиндексирован, а мы не можем позволить этим данным покидать локальную сеть.

Мне нужно находить такие вещи, как «DE322X», когда я ищу «322X» :slight_smile:

3 лайка

Существует несколько способов сделать это с помощью нашего плагина Data Explorer: Discourse Data Explorer.

  • Вы можете выполнить этот простой запрос, а затем нажать кнопку CSV, чтобы загрузить все сообщения. После этого вы сможете выполнить поиск по экспортированному файлу с помощью другой программы.

    `SELECT id, raw from posts`
    

  • Вы также можете написать собственный запрос в Data Explorer для поиска ключевого слова во всём содержимом сообщений.

Использование Data Explorer здесь гарантирует, что ваши данные не покинут локальную сеть.

3 лайка

Спасибо, я сохраню это на будущее. Возможно, это пригодится :slight_smile:
Но для этого всей команде нужно будет иметь возможность искать информацию, и было бы очень неудобно, если бы каждый раз, когда кому-то нужно что-то найти, приходилось выгружать CSV-файл :confused:

1 лайк

Хорошо, тогда лучший вариант — написать пользовательский запрос и увидеть результаты в интерфейсе. Для вдохновения по написанию запросов посмотрите: (Superseded) What cool data explorer queries have you come up with?

2 лайка

На достаточно небольшом сайте что-то подобное может сработать:

-- [params]
-- string :query

SELECT p.id AS post_id, 
       p.user_id
FROM posts p
WHERE p.raw ~* :query
  AND p.deleted_at IS NULL

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

После написания вы можете сделать его доступным для определённых групп:


Хотя я понимаю, что идеальным вариантом для ТС было бы, чтобы это работало прямо из строки поиска. :slight_smile: Я передам эту идею в канал #feature, на случай, если спрос на неё будет выше.