vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| search=# select to_tsquery('foo bar'); ERROR: syntax error Might want to enhance that message to include the information that it's parsing the tsquery that's failing? I originally had it as part of a much larger query, and it took me a while to remember that it's tsearch that spits out that very generic error message. //Magnus ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match |
| |||
| > Might want to enhance that message to include the information that it's > parsing the tsquery that's failing? I originally had it as part of a > much larger query, and it took me a while to remember that it's tsearch > that spits out that very generic error message. It possible, but not for 8.2 BTW, try # select plainto_tsquery('foo bar'); plainto_tsquery ----------------- 'foo' & 'bar' (1 row) It parses plain text and makes tsquery. Function exists only in 8.2 - some later we add docs about changes in tsearch2. -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| > > Might want to enhance that message to include the information > that > > it's parsing the tsquery that's failing? I originally had it as > part > > of a much larger query, and it took me a while to remember that > it's > > tsearch that spits out that very generic error message. > It possible, but not for 8.2 Ok :-( Might want to put on TIDI? > BTW, try > # select plainto_tsquery('foo bar'); > plainto_tsquery > ----------------- > 'foo' & 'bar' > (1 row) > > It parses plain text and makes tsquery. Function exists only in 8.2 > - some later we add docs about changes in tsearch2. Ah, just what i've been looking for. The tsearch2 enhancements in 8.2 just get better and better :-) (And I'm working on 8.2beta, so it's not a problem) //Magnus ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| |||
| On Tue, 3 Oct 2006, Magnus Hagander wrote: >> BTW, try >> # select plainto_tsquery('foo bar'); >> plainto_tsquery >> ----------------- >> 'foo' & 'bar' >> (1 row) >> >> It parses plain text and makes tsquery. Function exists only in 8.2 >> - some later we add docs about changes in tsearch2. Current docs, covering 8.2 is available from http://www.sai.msu.su/~megera/wiki/tsearch2slides Regards, Oleg __________________________________________________ ___________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83 ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |
| |||
| On Oct 3, 2006, at 10:49 , Oleg Bartunov wrote: > On Tue, 3 Oct 2006, Magnus Hagander wrote: > >>> BTW, try >>> # select plainto_tsquery('foo bar'); >>> plainto_tsquery >>> ----------------- >>> 'foo' & 'bar' >>> (1 row) >>> >>> It parses plain text and makes tsquery. Function exists only in 8.2 >>> - some later we add docs about changes in tsearch2. > > Current docs, covering 8.2 is available from http://www.sai.msu.su/ > ~megera/wiki/tsearch2slides This is great news- previously, I was using various regexes to sanitize input into user-accessible search fields. Would it be build in some simple query language? "sam AND spade" "blue OR yellow" "(same AND spade) OR (blue AND yellow)" Obviously, the conjunctions would need to be defined on a per-locale basis. -M ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| |||
| > This is great news- previously, I was using various regexes to sanitize > input into user-accessible search fields. Would it be build in some > simple query language? > > "sam AND spade" > "blue OR yellow" > "(same AND spade) OR (blue AND yellow)" That's exactly to_tsquery syntax, just change AND to & and OR to |. So, if you can validate AND/OR then you can validate &/| syntax or validate AND/OR and change they to tsquery's equivalents. -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/ ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings |
| |||
| On Tue, Oct 03, 2006 at 04:34:06PM +0200, Magnus Hagander wrote: > search=# select to_tsquery('foo bar'); > ERROR: syntax error Seems to me, at the very least, the message should be: ERROR: tsearch: syntax error Then people have an idea where it comes from. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFFIs9LIB7bNG8LQkwRAqyNAJ411bHVkCALUAhZhQomFs jUMrZRsACeIeF4 F/mohyxUJ8/aazje9BDWWX8= =+IAd -----END PGP SIGNATURE----- |
| |||
| Martijn van Oosterhout <kleptog@svana.org> writes: > On Tue, Oct 03, 2006 at 04:34:06PM +0200, Magnus Hagander wrote: >> search=3D# select to_tsquery('foo bar'); >> ERROR: syntax error > Seems to me, at the very least, the message should be: > ERROR: tsearch: syntax error No, it should be something like syntax error in tsearch query: "contents of string" since it's not always the case that you know exactly what string got fed to to_tsquery(). regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| ||||
| Hi, Tom, Tom Lane wrote: > No, it should be something like > > syntax error in tsearch query: "contents of string" > > since it's not always the case that you know exactly what string got fed > to to_tsquery(). I agree. It's also possible that you have more than one tsearch expression in the query (e. G. by joining different tables), so that will help further. HTH, Markus -- Markus Schaber | Logical Tracking&Tracing International AG Dipl. Inf. | Software Development GIS Fight against software patents in Europe! www.ffii.org www.nosoftwarepatents.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFI4QYyHQIGEs7eeARA7UWAJsHMKy9rVPu4+1YMrtk2J 1YNQEUSgCggsqE WdKxWHeimqbnb4CqZDPyN0I= =89cQ -----END PGP SIGNATURE----- |