В нашем стандартном поиске
При поиске:
«Pen» я получаю результаты по Пенсильвании.
То же самое для поисковых запросов «Penn» и «Pennsyl».
Но при поиске «Pennsy» я получаю «результатов не найдено» для «Pennsy», тогда как остальные запросы работают как ожидалось.
В Firefox — для этого примера ошибочная поисковая строка «Pennsy» возвращает лишь один результат для нашей группы «Участники из Пенсильвании», но поведение столь же странное.
В консоли нет ошибок, в заголовках XHR нет очевидных проблем… просто объект ответа значительно меньше (как и следовало ожидать исходя из поведения).
Чтобы исключить возможность того, что это проблема версии или реализации, я также протестировал это на metaDotDiscourse, и проблема воспроизводится и там!
Примечание: это также происходит для запроса «Jus» (много результатов),
затем «Just» возвращает только результаты по пользователям,
а «justi» — результаты по форумам.
Учитывая эти два примера, я предполагаю, что так ведут себя и другие результаты поиска.
Интересно, что это, похоже, не связано с длиной термина. Так что происходит что-то совершенно непонятное!
непредсказуемое поведение — совершенно иной набор (или полное отсутствие) результатов для одного и того же корня слова, для которого есть контент.
несоответствия между браузерами выглядят довольно странно, не так ли?
Наши конечные пользователи не знают, что такое стемминг, который, как вы верно заметили, является техническим термином из области исследований.
Из-за изменения заголовка поста другие развертыватели Discourse, столкнувшиеся с похожими проблемами, не смогут найти его при поиске на форуме. А поскольку это больше не считается отчетом об ошибке, никто из тех, кто мог бы помочь улучшить работу системы, не увидит в этом задачу, требующую решения.
Если речь идет о критически важном элементе, который необходимо найти через поиск, обязательно используйте теги, специальные слова или какой-либо другой уникальный маркер. Вам также могут быть полезны стоп-слова для поиска: