PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Finden Sie eine Phrase, die mit einem Präfix endet, mit der Volltextsuche

SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend') and
title_tsv @@ to_tsquery('fram:*')  

entspricht:

SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend & fram:*')

aber das findet natürlich auch "Zend has no framework".

Sie könnten natürlich nach dem tsquery-Match einen regulären Ausdrucks-Match gegen den Titel ausdrücken, aber Sie müssten EXPLAIN ANALYSE verwenden, um sicherzustellen, dass dieser nach dem tsquery statt davor ausgeführt wird.