Re: Problem Escaping a Boolean Query

2005-07-27 Thread Dobromir Velev
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]



Problem Escaping a Boolean Query

2005-07-26 Thread Blogfreaks.com
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