It was added in 11, but I want to mention again how great of an addition the websearch_to_tsquery() function was. You can now get a respectable search system immediately in PostgreSQL without having to implement any sort of query-parsing or special data indexing yourself. All you need to do is add a column/index for fulltext search, which you can even do now using the generated columns added in 12 (instead of a trigger).<p>Then just pass user-entered queries through websearch_to_tsquery() and have access to multiple search capabilities easily. It supports searching for alternatives with "or", phrases in quotes, and excluding terms with a minus sign, which is all syntax that a lot of people are already used to. For example it can handle a query like:<p><pre><code> blizzard or overwatch -"hong kong"
</code></pre>
That would find anything with "blizzard" or "overwatch" in it, but exclude anything with "hong kong" (if you wanted to avoid results about that recent controversy).<p>It's really useful, and makes it so that you can add reasonable search functionality with almost no work at all.