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

Хорошо, я полностью понимаю, что это неконструктивная жалоба, но…

Discourse действительно, действительно нуждается в улучшенной функции поиска.

После всех этих лет я всё ещё вынужден обращаться к Google каждый раз, когда мне нужно что-то найти. Сегодня я искал точные опции в файле темы settings.yml.

Обычный поиск:

Ладно, включим ИИ.

вздыхает Ладно, идём в Google.

Бинго. Сразу нашёл то, что искал.

Вернувшись к поиску внутри Discourse, тема, которую я искал, находится на 25-м месте при сортировке «по релевантности» и на 19-м месте при включении ИИ.

Другие примеры: запрос «ad plugin» не выдаёт тему о плагине в первых 70 (!) результатах, тогда как запрос «meta.discourse.org ad plugin» в Google сразу даёт нужный результат.

(Я подумал, может, я использую не те термины, но запрос «advertising plugin» выдаёт тему на 9-м месте при поиске внутри Discourse и на 17-м при включении ИИ.)

22 лайка

Если вы используете опцию «Самые просматриваемые», ваш поиск становится немного ближе к тому, что делает Google (показывая результаты, которые другие тоже могли найти полезными).

«Настройки в themes settings.yml» помещает его на 6-е место.

«Плагин для рекламы» — на 2-е.

Это не идеально, определённо есть куда расти. Но я не уверен, насколько реалистично сравнивать здесь поиск с одним из самых продвинутых поисковых инструментов на планете, который буквально стал синонимом «поиска в интернете».

Тем не менее, я считаю, что Discourse мог бы работать лучше, даже если никогда не станет достаточно хорошим, чтобы превзойти Google.

7 лайков

Хитрый трюк, спасибо.

С другой стороны, в данном случае мне нужно искать всего 0,0000000000001% интернета.

9 лайков

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

Мне тоже иногда бывает трудно найти ту же самую тему, поэтому, возможно, мы сможем немного улучшить наши собственные ключевые слова. Добавление категории Documentation или тега how-to значительно улучшает результаты (я согласен, что это не должно быть необходимым!)

Мы также экспериментируем с новым плагином поиска, который может помочь улучшить поиск с помощью Typesense (надеюсь, в ближайшие несколько недель у нас будет что-то для тестирования на Meta) — поиск по запросу «настройки в темах» в нашей внутренней демонстрации возвращает эту тему как 4-й результат, что выглядит немного многообещающе.

18 лайков

Я был рад увидеть это от авторизованного лица, так как у меня возникла идея добавить поиск Google в Discourse. Звонок был очень плохим, и я говорю это, потому что это так. Надеюсь, что в этом направлении удастся увидеть серьёзные инновации.

3 лайка

Это справедливое замечание, но сложность поиска заключается не в масштабе, а в предсказании того, что пользователь хочет увидеть, исходя из нескольких слов. Наличие остальных 99,99999999999% интернета и 8,5 миллиардов поисковых запросов в день для обучения в этом отношении довольно полезно.

Но, опять же, я согласен, что поиск в Discourse можно улучшить. Однако я не уверен, что Google должен считаться эталоном.

3 лайка

Одно, что я хотел бы добавить: мне кажется, что это не столько проблема «поиска», сколько проблема «нахождения». В данном случае результаты поиска не обязательно плохие, просто они не выводят именно ту страницу, которую вы ищете. Возможно, решение заключается в том, чтобы сделать поиск по закладкам более заметной функцией? Или найти другое решение, которое ставит в приоритет важные темы, на которые часто ссылаются?

«Показывать то, что я ищу» — разве это не суть поиска?

Но давайте посмотрим на это так:

  • Поиск в Discourse часто не оправдывает моих ожиданий
  • Поиск в Google — который тоже может быть довольно разочаровывающим, особенно в последний год — оправдывает

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

По запросу «settings in themes settings.yml» выдаются результаты, содержащие «settings.yml» и «themes». Поэтому результаты не являются ошибочными. Проблема в том, что часть контекста, который вам на самом деле нужен, упущена, а именно: руководство how-to по добавлению настроек в тему. Если бы вы указали более конкретную тему, которую ищете, вы бы легко её нашли.

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

В любом случае, я думаю, что главная мысль, которую я пытаюсь донести, заключается в следующем: если бы вы шли в библиотеку, способ поиска «поваренных книг» в целом и конкретного экземпляра «Gordon Ramsay’s Home Cooking» был бы разным. В этой аналогии Discourse достаточно хорош, чтобы предоставить вам все нужные поваренные книги, но не существует действительно хорошего способа найти Gordon Ramsay’s Home Cooking. Особенно если вы не помните точное название. Я замечаю, что многие важные темы в моём Discourse часто теряются в бездне. Возможно, решение заключается в улучшении раздела документации, или же в доработке поиска. Может быть, стоит добавить рекомендуемые результаты поиска, которые отображаются вверху? У меня пока нет ответа, я просто пытаюсь немного детальнее раскрыть проблему :slight_smile:

4 лайка

Особенно когда люди вроде меня, скорее всего, скажут: «Э-э, а вы пробовали поиск?», а поиск работает не очень хорошо. Кажется, что за последние пару лет он стал работать ещё хуже. Я подозреваю, что это связано с тем, что «стога сена» стало больше.

С нетерпением жду, как и поможет ли это Typesense!

7 лайков

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

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

3 лайка

Я очень рад узнать, как это будет реализовано!!!

1 лайк

Как пользователь внутреннего поиска, который пользуется им «каждый день по многу раз», я тоже имею по этому поводу своё мнение. И даже не одно.

Но также есть и некоторые наблюдения… Я понял, что меньше — значит больше: не нужно писать рассказ; какие самые важные ключевые слова описывают то, что я ищу?

Например:

Мой первый инстинкт — ввести theme add settings

Теперь для таких задач у нас есть Documentation - Discourse Meta, что позволяет ограничить поиск определёнными категориями — это очень важно для сайта поддержки! Я хотел было предложить это, но оказывается, что мы не можем сортировать результаты по релевантности.

Это сильно снижает полезность этого поиска… Варианты сортировки — по дате активности или названию темы.

Даже DDG справляется с этим правильно.

Интересной могла бы быть тема-компонент, которая добавляла бы, например, опцию «Выполнить этот поиск в Google / DDG» к результатам внутреннего поиска.

6 лайков

Релевантность — достойная цель. DDG или Google не подойдут для закрытых сайтов с документами.

2 лайка

Была ли это ваша первая мысль до того, как вы (возможно, подсознательно) увидели заголовок темы?

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

2 лайка

И это означает «если вы знаете точное местоположение». Это тоже неплохой вариант, но он не соответствует реальной жизни.

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

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

1 лайк

Честно говоря, я не знаю, сделал ли я вывод «Зачем ему нужно знать, какие значения допустимы? Чтобы добавить настройки!» или просто увидел заголовок темы :smiley:

3 лайка

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

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

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

2 лайка

Ну, я запомнил несколько из них, которые были переименованы, и у меня ушли месяцы, чтобы выучить новые. Новые названия были лучше, но я так и не смог их найти снова. :person_shrugging:

2 лайка

Ну и всё же никто не знает точного расположения нужных данных для целевого поиска. Так что, похоже, мы так и не пришли к согласию :smirking_face:

В качестве примера из реальной жизни: поиск wp-discourse. Насколько хорошо он справляется, если честно?