Я заинтересован в использовании postgres как поисковой системы для веб-сайта, который я разрабатываю, но кажется, что postgres очень строг при сопоставлении типов ts_query и ts_vector. Если ts_vector не содержит всех элементов в запросе, совпадение отклоняется.Совпадение только некоторых слов в полнотекстовом поиске Postgres
Например, я бы ожидал, что запрос «Код переполнения стека» будет соответствовать сводке узлов стека, но это не потому, что слово «код» отсутствует, хотя «Stack» и «Overflow» являются ,
SELECT
to_tsvector('Stack Overflow is a question and answer site for professional and enthusiast programmers. It''s built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we''re working together to build a library of detailed answers to every question about programming.')
@@
plainto_tsquery('english', 'Stack Overflow code')
Возвращает:
false
В моем случае использования, я не заинтересован в точных совпадений, так как это будет использоваться пользователями для поиска веб-сайт.
Есть ли способ подсчитать что-то в качестве соответствия, когда только часть запроса находится в документе?
смотри также smlar расширение, написанное одними и теми же авторами, как поиск текста –