Discourse нуждается в улучшенном поиске

Возможный подход, @Falco, мог бы быть обратным тому, что делает наш текущий метод.

Для каждой темы попробуйте извлечь или создать около 20 ключевых слов и наложить их поверх существующих ключевых слов.

Интересно, поможет ли это.

3 лайка

Наш алгоритм релевантности не учитывает количество просмотров или PageRank. Кроме того, добавим сложности: общее количество просмотров за всё время может быть настолько высоким, что это искажает результаты, поэтому, вероятно, нам нужно было бы учитывать просмотры по годам или что-то подобное для коррекции.

Но… с учетом PageRank, количества просмотров и лайков мы, возможно, сможем разработать гораздо более эффективный алгоритм релевантности.

Это сложная область: на этих идеях была построена компания стоимостью в триллионы долларов, а другая компания стоимостью в триллионы долларов не имеет простого способа догнать её.

10 лайков

Вот, я исправил… теперь на первом месте.

Ранее я обсуждал эту проблему с @tgxworld и @JammyDodger — мы сами загнали себя в тупик.

Простое временное решение:

Пройтись по каждой теме с тегом #plugin и добавить слово «Plugin» в конец заголовка.

Discourse Advertising Plugin
Discourse Chat Plugin
и так далее…

Заголовки, содержащие совпадения, «выигрывают». Например:

  • Advertising в категории #plugin проиграет запросу Discourse Advertising Plugin question в категории random.

Мы могли бы «раздуть» индекс заголовков, добавляя туда категории и теги — думаю, Google так и делает.

Вместо индексации:

первый приоритет — «Discourse Advertising»
второй — «plugin»
третий приоритет — «content»

мы могли бы индексировать:

первый приоритет — «Discourse Advertising — тег плагина1 тег плагина2»

Конечно, обходной путь — поиск по запросу:

#plugin chat

против


Кстати… может, сразу исправить все официальные плагины? Это займёт у меня всего несколько минут.

4 лайка

А как насчёт учёта количества ссылок на тему?

2 лайка

Да, это PageRank, я уже упоминал об этом.

Однако слишком много компромиссов: должен ли точное совпадение заголовка проигрывать высокому PageRank?

2 лайка

Нет. Часто мне приходится искать точные заголовки, но я довольно специфичен. Когда я ищу ссылку «почему вы не выполнили поиск», я в основном ищу то, что знаю, что существует (это шаг в сторону от стандартной установки: в течение многих месяцев я не мог понять, почему «straightforward» перестал находить настройку прямой доставки входящей электронной почты для самохостинговых сайтов с помощью Mail-Receiver, но недавно я переименовал его, так что теперь «mail receiver» работает).

Ах. Теперь я вижу, что вы это сказали.

Для тех вещей, которые я ищу и о которых не знаю, что именно ищу, обычно лучше всего работает поиск по самым свежим материалам.

Кстати, на моих собственных сайтах (в основном только для себя), где относительно мало тем и сообщений, поиск работает довольно хорошо!

4 лайка

Это правильный путь: прежде чем тратить слишком много усилий на внутреннее решение, стоит протестировать множество инструментов поиска. Я не знаю ни одного сайта с внутренним поиском, который не получал бы подобных жалоб. Даже Reddit, один из крупнейших сайтов в мире, критикуется за свой поиск.

1 лайк

Сопоставляя поведение пользователей во время поиска и чтения (а возможно, и через запросы, как это делает, например, Google Maps), Discourse мог бы внутренне формировать знания о ожидаемых результатах запросов.

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

Плагин для Typesense звучит потрясающе.

Отличная тема! Поиск на форумах — действительно сложная задача, и решение с использованием Google всплывает слишком часто, на мой вкус.

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

К сожалению, это тоже правда. Лично я даже не уверен, насколько сильно ссылки действительно влияют на релевантность (хотя они, вероятно, были бы фактором), потому что в форумах, где я активен, но которые не являются техподдержкой или техническими форумами, ссылки встречаются относительно редко.
Поэтому я склонен считать более важными свежесть и активность, то есть количество просмотров, лайков/реакций и ответов за не слишком отдалённое прошлое (независимо от того, учитывается ли это в текущей реализации поиска или нет).

3 лайка

По-моему, стоит взглянуть на алгоритм, который Reddit использует для расчёта своего показателя «горячего»:

math - Откуда берутся математические алгоритмы ранжирования Reddit, например? - Stack Overflow

Это что-то вроде

image

1 лайк

:рыдаю: :рыдаю: :рыдаю: :рыдаю:

5 лайков

Согласен. К слову, subscriptions #plugin работает лучше.

Да. Не заставляйте меня думать.

Запрос из первого сообщения выдаёт те же темы в том же порядке, что и год назад (за исключением того, что именно эта тема засоряет результаты поиска…)

Интересно, принёс ли это какие-либо плоды?

4 лайка

Я стал слишком полагаться на Google, когда не могу найти что-то здесь, и мне это не нравится. :cry: Тем не менее, я уверен, что команда рано или поздно найдёт способ улучшить поиск.

6 лайков

Мы многому научились в ходе эксперимента, но он отнимал слишком много времени, и мы переключились на другие приоритеты.

6 лайков

Могу ли я узнать текущее состояние эксперимента? Следует ли его продолжить или нужно начать заново?

У меня не так много опыта в анализе кода для выявления критических изменений, поэтому мне будет достаточно краткого резюме, чтобы понять суть :slight_smile:

Централизация поисковых запросов должна повысить видимость Discourse в блогах и на подобных сайтах с множеством онлайн-сервисов.

Это наш первоначальный вариант использования; я считаю, что было бы ценно предоставить «входную дверь» для обсуждения статей блога непосредственно в строке поиска.

1 лайк

Эксперимент был завершён, но он может появиться снова; мы, безусловно, по-прежнему заинтересованы в улучшении поиска.

1 лайк

Это приятно слышать, спасибо!

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

Мы поддерживаем Algolia через плагин Algolia, так что вы можете положиться на него.

1 лайк