PostgreSQL query processor¶
-
coaster.utils.tsquery.
for_tsquery
(text)[source]¶ Tokenize text into a valid PostgreSQL to_tsquery query.
>>> for_tsquery(" ") '' >>> for_tsquery("This is a test") "'This is a test'" >>> for_tsquery('Match "this AND phrase"') "'Match this'&'phrase'" >>> for_tsquery('Match "this & phrase"') "'Match this'&'phrase'" >>> for_tsquery("This NOT that") "'This'&!'that'" >>> for_tsquery("This & NOT that") "'This'&!'that'" >>> for_tsquery("This > that") "'This > that'" >>> for_tsquery("Ruby AND (Python OR JavaScript)") "'Ruby'&('Python'|'JavaScript')" >>> for_tsquery("Ruby AND NOT (Python OR JavaScript)") "'Ruby'&!('Python'|'JavaScript')" >>> for_tsquery("Ruby NOT (Python OR JavaScript)") "'Ruby'&!('Python'|'JavaScript')" >>> for_tsquery("Ruby (Python OR JavaScript) Golang") "'Ruby'&('Python'|'JavaScript')&'Golang'" >>> for_tsquery("Ruby (Python OR JavaScript) NOT Golang") "'Ruby'&('Python'|'JavaScript')&!'Golang'" >>> for_tsquery("Java*") "'Java':*" >>> for_tsquery("Java**") "'Java':*" >>> for_tsquery("Android || Python") "'Android'|'Python'" >>> for_tsquery("Missing (bracket") "'Missing'&('bracket')" >>> for_tsquery("Extra bracket)") "('Extra bracket')" >>> for_tsquery("Android (Python ())") "'Android'&('Python')" >>> for_tsquery("Android (Python !())") "'Android'&('Python')" >>> for_tsquery("()") '' >>> for_tsquery("(") '' >>> for_tsquery("() Python") "'Python'" >>> for_tsquery("!() Python") "'Python'" >>> for_tsquery("*") '' >>> for_tsquery("/etc/passwd\x00") "'/etc/passwd'"