Обсуждение: tsearch2: how to plainto_tsquery() with "|"
i can run "...@@ to_tsquery('cat | dog')". but if i run "...@@ to_tsquery('cat dog')", it gives me a syntax error (#42601). so i run "...@@ plainto_tsquery('cat dog')". but then i can't run "...@@ plainto_tsquery('cat | dog')". can you help before i give up on tsearch2? thks, jzs http://postgresql.1045698.n5.nabble.com/tsearch2-plainto-tsquery-with-OR-td1885955.html http://www.postgresql.org/docs/9.3/static/textsearch.html
John Smith <jayzee.smith@gmail.com> writes: > i can run "...@@ to_tsquery('cat | dog')". > but if i run "...@@ to_tsquery('cat dog')", it gives me a syntax error (#42601). > so i run "...@@ plainto_tsquery('cat dog')". > but then i can't run "...@@ plainto_tsquery('cat | dog')". Yeah ... that's pretty much exactly the point of having two different functions. to_tsquery() honors boolean operators in the query, the other doesn't. If this doesn't fit your notions of a reasonable API, maybe you could create your own preprocessing function. regards, tom lane
i thought you shared my frustration :-) (see http://postgresql.1045698.n5.nabble.com/tsearch2-plainto-tsquery-with-OR-td1885955.html). anyway, then "...plainto_tsquery('...')" is pretty much useless when it fails if someone inserts a single boolean operator - back to "...to_tsquery('...')" and inserting operators outside tsearch2. thks, jzs http://postgresql.1045698.n5.nabble.com/OR-tsquery-td1910087.html On 3/25/14, Tom Lane <tgl@sss.pgh.pa.us> wrote: > John Smith <jayzee.smith@gmail.com> writes: >> i can run "...@@ to_tsquery('cat | dog')". >> but if i run "...@@ to_tsquery('cat dog')", it gives me a syntax error >> (#42601). >> so i run "...@@ plainto_tsquery('cat dog')". >> but then i can't run "...@@ plainto_tsquery('cat | dog')". > > Yeah ... that's pretty much exactly the point of having two different > functions. to_tsquery() honors boolean operators in the query, the other > doesn't. > > If this doesn't fit your notions of a reasonable API, maybe you could > create your own preprocessing function. > > regards, tom lane >