February 20th, 2021

Океан. Полнотекстовый поиск

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

Короче, я собрал свою волю в кулак и пошёл разбираться, как работает в Postgres хвалёный полнотекстовый поиск. К слову сказать, до конца в нём я так и не разобрался, и у меня он тоже почему-то ищет тоже только по точному совпадению, но постараюсь этот вопрос как-нибудь решить. Зато по комментариям и по форуму слова ищутся нечего делать. И более того, теперь можно увидеть даже кусок фразы, где искомое слово присутствует. Скажем, введём какое-нибудь безобидное слово "голубь" и поищем его по манделам:

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

Collapse )