Поиск в Discourse сломан? Возвращает 'похожие'/'частичные' совпадения вместо 'точных'

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

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

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

Я выполнил тот же поиск здесь, в форуме Meta. Снова нашёл десятки результатов. (В некоторых были сообщения со словом «Plant». Похоже, что он ищет частичные совпадения вместо точных.)

Если совпадений очень мало, мы расширяем поиск, чтобы включить результаты семантического ИИ, поэтому вы видите частичные совпадения в Meta.

Хм, да, это кажется неидеальным: опция «в сообщениях» не должна подставлять публичные результаты.

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

В какой-то степени так и происходит.

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

Ещё один момент. Мне кажется, термин «результаты ИИ» немного странный. Может быть, лучше «похожие результаты»?

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

«Открытия Discobot» — это функция, которая, похоже, не активна на сайте.

Ах, я понял. (Хотя поиск Discobot должен быть дополнением, которое у нас не установлено?) Он отображается в превью поиска здесь. Но результаты ПОСЛЕ нажатия Enter не показывают разделение между точными и похожими совпадениями… и даже не сообщают просто о том, что «результатов не найдено».

Нет. Оно там есть. Но если вы ищете «in:messages», то переключается на «AI», который его не находит. Если искать в обычных темах, то оно находится… :roll_eyes:

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

Скриншот, который я привёл выше (где это ДЕЙСТВИТЕЛЬНО было), — это повторная проверка в форуме Meta.

Я (очевидно) имел в виду эту тему на этом форуме.

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

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

Нашим компромиссом стало добавление класса ai-search-result к каждому результату, чтобы сайты могли при желании стилизовать их иначе или добавить любые необходимые индикаторы с помощью наших возможностей темизации.

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

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

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

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

Функция «Открытия Discobot» также кажется неуместной, но, по крайней мере, её можно отключить.

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