Владимир Зарыпов (krre31) wrote,
Владимир Зарыпов
krre31

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

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

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

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

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

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

Tags: океан
Subscribe

Posts from This Journal “океан” Tag

  • Океан. Хлам

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

  • Океан. Лента новостей

    Придумал новую киллер-фичу - ленту новостей. Она объединяет в себя сообщения о появлении новых мандел, комментариев к манделам, новых тем на форуме…

  • Океан. Цветовая маркировка мандел

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

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments

Posts from This Journal “океан” Tag

  • Океан. Хлам

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

  • Океан. Лента новостей

    Придумал новую киллер-фичу - ленту новостей. Она объединяет в себя сообщения о появлении новых мандел, комментариев к манделам, новых тем на форуме…

  • Океан. Цветовая маркировка мандел

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