Поиск должен сопоставлять специальные символы с их «обычными» аналогами

Я скопировал и вставил заголовок темы (так, как он отображается, с красивыми символами) в поиск:
Новая реклама Lowe’s с UniGeezer

Результатов нет:

Я заменил красивый апостроф на «обычный» в поле поиска:
Новая реклама Lowe's с UniGeezer

Теперь тема появилась.

Мое предложение: поиск должен сопоставлять каждый красивый символ с его оригинальным аналогом.

8 лайков

Хорошая мысль, как нам поступить с этим @sam?

3 лайка

Что насчёт диакритических знаков?

У нас уже есть нормализация диакритических знаков, так что, возможно, мы сможем исправить это аналогичным способом.

@tgxworld, подумай об этом.

3 лайка

@Canapin, вы всё ещё можете воспроизвести это? Я пытался воспроизвести это локально, но не смог. Апостроф удаляется из данных поиска, поэтому он не должен влиять на поиск.

discourse_development=# SELECT TO_TSVECTOR('english', 'New Lowe’s commercial with UniGeezer') @@ PLAINTO_TSQUERY('english', 'New Lowe’s commercial with UniGeezer');
 ?column? 
----------
 t
(1 row)

Можете ли вы указать мне сайт, на котором вы столкнулись с этой проблемой, чтобы я мог воспроизвести её? Спасибо!

1 лайк

У меня по-прежнему сохраняется проблема, и она возникает при поиске точной строки (в кавычках "):

https://unicyclist.com/search?q=%22New%20Lowe%E2%80%99s%20commercial%20with%20UniGeezer%22

в отличие от

https://unicyclist.com/search?q=%22New%20Lowe%27s%20commercial%20with%20UniGeezer%22

1 лайк

Спасибо за репорт. Это в основном влияет на поиск точных терминов, когда поисковые запросы заключены в ". Проблема здесь в том, что настоящее название темы — New Lowe's commercial with UniGeezer, а «красивое» название — New Lowe’s commercial with UniGeezer. При поиске точных терминов мы сопоставляем заданные термины только с названием темы, а не с «красивым» названием.

Сложность в том, что мы не можем просто безоговорочно заменять на ', потому что тема с в названии перестанет находиться. Я немного не уверен, что можно сделать в данном случае, поскольку на стороне клиента мы отображаем разные символы при показе названия темы.

@gerhard @sam, кажется, вы уже сталкивались с этой проблемой, связанной с кавычками. Есть какие-то идеи, что можно предпринять? Честно говоря, это пограничный случай, который затронет очень небольшую часть поисковых запросов. Я склонен просто проигнорировать это.

1 лайк

Это не повод для шуток! :stuck_out_tongue_winking_eye:

Думаю, мы могли бы нормализовать до ' в индексе и поисковом запросе. Но честно говоря, не уверен, что стоит прилагать титанические усилия для исправления этого.

1 лайк

Это не связано с поисковым индексом. Для точных совпадений мы сравниваем их с Post#raw и Topic#title:

1 лайк

Понятно, да… решения тут нет, думаю, это просто мелочь, с которой придётся смириться.

2 лайка