Обсуждение: 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 >