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 """. Then your query 
should be something like this

select * from feeds where MATCH(feed_title, feed_content) AGAINST('"Sean
"P. Diddy" +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]

Reply via email to