В последнее время я много читаю здесь и заметил, что термины «пост» и «ответ» используются как-то взаимозаменяемо.
Если это исправить, то это приведёт к меньшему количеству досадных вопросов, когда кто-то использует неправильный из двух терминов при поиске перед тем, как задать вопрос с новой темой (LOL, это только что произошло со мной: «удалить пост после» не дало тех же результатов, что и «удалить ответ после»…)
Ответ и публикация не являются на 100% взаимозаменяемыми. В большинстве случаев, которые мы видим здесь на Meta, они таковыми являются, но не всегда.
Я предлагаю ознакомиться со статьей Understanding Discourse for new users, где описывается, что такое публикация. Ответом считается любая публикация, кроме первого сообщения темы.
Итак, я прочитал «Руководство для новых пользователей Discourse», но не смог найти там явного определения термина «ответ».
Однако, поскольку я процитировал вас выше, «ответ» по определению является «постом». Следовательно, при поиске по слову «пост» должны отображаться и все совпадения с «ответом»…
Также после прочтения этого руководства остаётся неясным, должен ли поиск по слову «ответ» выдавать все записи «постов».
Поэтому я по-прежнему хотел бы, чтобы запрос, озвученный в заголовке этой темы, был выполнен. (хотя, повторюсь, это лишь моё мнение)
Ответ действительно является постом, но не все посты являются ответами, поэтому поиск по слову «пост» не должен автоматически добавлять поисковый термин «ответ».
Если ваше предпочтение будет удовлетворено, это вызовет раздражение у других пользователей, таких как я, которые ищут только посты, а не ответы.
Но вы, очевидно, «в курсе» и, скорее всего, просто использовали бы явный поисковый запрос, не беспокоя здесь людей новой темой о том, почему так много результатов поиска по слову «post» появляются в ваших поисках по слову «reply».
Ладно, я замолкаю но, возможно, стоит добавить возможность их добавления. Я предсказываю, что это облегчит жизнь добрым людям, отвечающим новичкам на этом замечательном форуме
На самом деле я выполняю общий поиск, а затем перехожу по релевантным ссылкам, которые частично соответствуют тому, что я ищу.
Поисковые системы отслеживают, по каким ссылкам переходят пользователи. В Discourse есть похожий механизм. Раздел «Предлагаемые темы» в конце обсуждения — это богатый источник актуальных тем, которые не связаны напрямую с конкретными поисковыми запросами.
Я меняю категорию на Contribute > Feature, так как запрос на новую функцию довольно понятен. В нём предлагается добавить в интерфейс возможность определять пользовательские синонимы.
Postgres технически поддерживает синонимы, как описано здесь:
Так что, если вы готовы взяться за дело и углубиться в технические детали, можно уже сегодня реализовать что-то подобное. Но я согласен, что в будущем добавление пользовательского интерфейса, позволяющего модераторам определять такие синонимы, было бы интересным решением.
Я не помечаю это как pr-welcome, потому что задача сложная, её реализация займёт много времени, а потенциальная польза может оказаться ограниченной.
Что касается сроков, то я ожидаю, что не займусь этим в течение ближайшего года, скорее всего, работа начнётся в течение следующих пяти лет.
Мы обновили нашу терминологию (термин «User» заменён на «Member») и соответствующим образом обновили документацию. Однако я хотел бы, чтобы при поиске по слову «User» автоматически отображались результаты, содержащие слово «Member». Есть ли какие-то идеи относительно простого способа этого добиться?
Это довольно сложная задача. Мы могли бы создать плагин, который добавляет синонимы в проиндексированные данные, однако это займет от 1 до 5 дней работы.
Главный вопрос здесь: насколько это важно для вас? Реализовать это возможно, но потребуется наше индивидуальное консультирование.
Я думаю, что надежда состоит в том, чтобы косвенно влиять на алгоритм поиска с помощью такого инструмента, как синонимы тегов. Но это касается любых ключевых слов внутри сообщения (или, по крайней мере, исходного сообщения).
Примером варианта использования может служить ситуация, когда члены сообщества или посетители сайта ищут свои разговорные выражения, а не похожий брендовый жаргон. Алгоритм поиска отдавал приоритет совершенно другим темам. Примером на нашем сайте может служить поиск по запросу «десктопное приложение» вместо тем «нативный клиент».
Интересно, изменились ли взгляды на опечатки за эти годы:
Наша общая стратегия здесь — итеративная разработка. В продукте уже есть функция «Слежение за словами», и я не против добавить возможность «Синонимы поиска», где вы можете указать распространённые опечатки и фразы, которые хотите «добавить» в поиск. Это не запланированная работа, но определённо то, что можно рассмотреть для спонсирования.
Другая область, которую я готов исследовать (хотя я лишь слегка заинтересован в этом) — это возможность скрытого места «метаданные» в постах, где администраторы могут добавлять поисковые термины. Это очень незаметно, и в целом я рекомендую просто «правильно» добавлять слова в текст, чтобы они не были скрыты, например:
Это гениальная идея, она решает главную проблему поиска на основе векторных вложений: некорректный ввод пользователя.
К тому же это требует минимальных изменений в нашей текущей настройке, так как нужно лишь добавить небольшой шаг «обогащения» поискового запроса
По этой теме мы также можем реализовать гибридный поиск:
Поиск с использованием существующего полнотекстового поиска в PostgreSQL
Поиск с использованием векторных вложений
Сборка лучших 50 результатов из обоих методов
Передача результатов в сервис повторного ранжирования поиска
Отображение повторно ранжированных результатов
У нас уже есть мощный сервис повторного ранжирования в нашем существующем API векторных вложений, доступный через отдельный эндпоинт. Все необходимые компоненты готовы к внедрению.