I ran into this problem a few months ago and the only workaround I could
think of was to escape the quotes in the table with quot;. Then your query
should be something like this
select * from feeds where MATCH(feed_title, feed_content) AGAINST('Sean
quot;P. Diddyquot; +Combs' IN BOOLEAN MODE) order by feed_date DESC
A diiferent solution is to put a + sign before every word in the search
phrase like
select * from feeds where MATCH(feed_title, feed_content) AGAINST('+Sean
+P. Diddy +Combs' IN BOOLEAN MODE) order by feed_date DESC
but it is not as accurate and returns more irrelevant results
HTH
--
Dobromir Velev
[EMAIL PROTECTED]
http://www.websitepulse.com/
On Wednesday 27 July 2005 03:47, Blogfreaks.com wrote:
I'm using a boolean query to perform an exact match on musicians within a
text field. However, if the musician's name contains a quote, I get
inaccurate results. For example, this query works fine:
select * from feeds where MATCH(feed_title, feed_content) AGAINST('Tom
Petty' IN BOOLEAN MODE) order by feed_date DESC
The above query returns all feeds referencing the phrase Tom Petty. I run
into a problem when the musician has quotes in their name:
select * from feeds where MATCH(feed_title, feed_content) AGAINST('Sean
\P. Diddy\ Combs' IN BOOLEAN MODE) order by feed_date DESC
I'm trying to escape Sean P. Diddy Combs with backslashes, but it
doesn't work. This query returns every single row in my table, and it takes
about 11 seconds to run. The other queries take a fraction of a second.
Any help would be greatly appreciated. Thanks!
Shaun
http://www.blogfreaks.com
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]