When it comes to text search, PostgreSQL offers a surprisingly rich set of tools. Initially, text search capabilities were quite basic, often relying on the LIKE operator. This is inefficient for large amounts of text and lacks the nuance that comes with language. A major breakthrough came with the introduction of the built-in tsquery and tsvector data types, along with the associated functions, as part of PostgreSQL's core distribution. But tsquery is not the only option.