Hi, thank you for your reply.

I have used the option ft_min_word_len=3.
If I have something like
1. "Key West" 
in the database and I do a

SELECT * FROM my_table WHERE MATCH(Keywords) AGAINST ('Key' IN BOOLEAN
MODE)>0;

then I don't get any results either.
If I leave the quotation marks away, I find the row.

However, the quotation marks are necessary for another part of the
program,
so I can't leave them out of the column.

Any ideas why the quotation marks would cause this problem?


-Andy


-----Original Message-----
From: Jerry Schwartz [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 01, 2007 1:52 PM
To: Andreas Iwanowski; mysql@lists.mysql.com
Subject: RE: Fulltext search dilemma (IN BOOLEAN MODE)

Unless you changed the minimum word length, "Key" would be ignored
because it is too short. I would think the quotation marks at the start
or end of the words would be ignored. The asterisk operator is only
valid at the end of a word. Those initial asterisks, and the quotation
marks, would be treated as word delimiters as far as I can tell.

Also, the asterisk operator is only valid at the end of a word, not in
the beginning. The leading asterisks should be ignored, since they would
be treated as word delimiters.

Regards,

Jerry Schwartz
Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032

860.674.8796 / FAX: 860.674.8341


> -----Original Message-----
> From: Andreas Iwanowski [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 01, 2007 12:49 PM
> To: mysql@lists.mysql.com
> Subject: Fulltext search dilemma (IN BOOLEAN MODE)
>
> Hello MySQL experts,
>
> I'm trying to do a full text search on an indexed Keywords column that

> contains quotation marks, and it's giving me a headache.
>
> Suppose there are records in the database containing the folling
> keywords:
> 1. "Miami Beach" City
> 2. "Key West" Florida
> 3. "Key West" Beach Florida
>
> Now I do two fulltext searches on this column like this:
> SELECT * FROM _my_table_here WHERE MATCH(Keywords) AGAINST ('*Key* 
> *West*' IN BOOLEAN MODE)>0; SELECT * FROM _my_table_here WHERE 
> MATCH(Keywords) AGAINST ('*Miami* *Beach*' IN BOOLEAN MODE)>0;
>
> The second query returns the correct rows in spite of the " preceding 
> Miami.
> The first one, however, returns no results, even though there are rows

> in the table that *should* match the query.
> I think is has something to do with noise words, since if I have a row

> like this one:
>
> 4. Key West
>
> Then the problem does not occur and the search returns that row.
>
>
> Any help would be appreciated.
>
>
>
> -Andy
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql To unsubscribe:
> http://lists.mysql.com/[EMAIL PROTECTED]
>
>






--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to