Главные темы ► database ► Postgresql ► sql ► Полнотекстовый поиск в Postgresql
Теги: tsvector tsquery

Полнотекстовый поиск в Postgresql

Полнотекстовый поиск в Postgresql

    tsvector и tsquery

    Для полнотекстового поиска в postgresql существуют типы данных: tsvector и tsquery tsvector - документ оптимизированный(нормализованный) для поиска составляющих текста, для нормализации текста в документе используется процедура to_tsvector
    tsquery - используется для нормализации запроса, если я правильно понимаю, текст запроса разбивается в массив слов разделенный символами, для преобразования поисковых запросов используется процедура: plainto_tsquery
    Иначе говоря поиск находит документ tsvector на запрос tsquery
    Для сопоставления используется оператор @@
    Пример:

    # sudo -u postgres psql -c "SELECT tag1, tag2, tag3, url_page, content_name \ FROM page_table \ WHERE to_tsvector(content_text) @@ plainto_tsquery('нам отправляют все ключи')" \ -x megabase -[ RECORD 1 ]+---------------------------- tag1 | linux tag2 | Alpine tag3 | Nginx url_page | konfiguracziya_ssl_v_nginx_ content_name | Конфигурация ssl в Nginx

    Как и в простом случае SELECT вернет указанные атрибуты найденных строк, эти атрибуты с помощью php html java script генерируют ссылки на страницы где есть искомый текст, при переходе по ссылке, генерируется соответствующая страница


    Источники
    Последнее изменение: November 4, 2024 18:31


    Редактировать


    test

    2025-12-31 23:09:00 Редактировать

    test

    2025-12-31 23:10:00 Редактировать

    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ
    Loading…
    Loading the web debug toolbar…
    Attempt #