5
Соответствие
Соответствие документа запросу
оператор @@
Релевантность
веса лексем (A, B, C, D в порядке убывания важности)
ts_rank — по частоте найденных лексем
ts_rank_cd — также учитывает близость лексем
оператор расстояния <=> (расширение rum)
Чтобы проверить, соответствует ли документ (точнее, его
представление в виде tsvector) запросу (точнее, его представлению
tsquery), надо использовать оператор @@.
Результаты запроса можно ранжировать по «релевантности», чтобы
понять, какие из найденных документов больше соответствуют запросу,
а какие — меньше.
Релевантность учитывает вес лексем, который может быть задан
буквенной меткой от A до D. По умолчанию (если метки нету) лексеме
присваивается наименьшая важность (D). Выделение весами позволяет
считать более важными, например, слова из заголовка или краткой
аннотации по сравнению со словами в основном тексте документа.
В PostgreSQL есть две встроенные функции: ts_rank (учитывает,
насколько часто лексемы из запроса встречаются в документе)
и ts_rank_cd (дополнительно учитывает близость найденных лексем).
Обе функции позволяют отмасштабировать свой результат с учетом
размера документа.
возможность: оператор расстояния <=>, представляющий собой
комбинацию функций ts_rank и ts_rank_cd.
Заметим, что в PostgreSQL не реализована возможность поиска
документов, «похожих» на другой документ (основанная, например,
на методе TF-IDF).