Re: match a fulltext search with a - dash, can't match if - exist
Louie, Mysql treats the dash as a word separator. There's no way to change that unless you change the source code and recompile Mysql. Also, the default min word length is 4. So not only is E not matched; even 018 will not be matched. The min word length is easily configurable, though. Put a .cnf file in the conf dir of your installation, and have the line: ft_min_word_len=3 and restart your mysql server. If 018 is not a common word in your index, then it will show up as a match. -linda On Wed, 20 Oct 2004 08:17:06 +0100, Chris Elsworth [EMAIL PROTECTED] wrote: On Mon, Oct 18, 2004 at 11:19:55AM +0800, Louie Miranda wrote: mysql select * from fullsearch where match (title,body) against ('018-E'); Empty set (0.00 sec) it returns an empty set, is it possible to also search with - dash? chars? If I remember correctly, you need to pass the string as a phrase to fulltext: select * from fullsearch where match (title,body) against ('018-E'); I'd prefer being able to escape the - with \, since using a phrase has other disadvantages (like partial word matching goes out the window), but you can't. -- Chris -- 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]
Re: match a fulltext search with a - dash, can't match if - exist
On Mon, Oct 18, 2004 at 11:19:55AM +0800, Louie Miranda wrote: mysql select * from fullsearch where match (title,body) against ('018-E'); Empty set (0.00 sec) it returns an empty set, is it possible to also search with - dash? chars? If I remember correctly, you need to pass the string as a phrase to fulltext: select * from fullsearch where match (title,body) against ('018-E'); I'd prefer being able to escape the - with \, since using a phrase has other disadvantages (like partial word matching goes out the window), but you can't. -- Chris -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: match a fulltext search with a - dash, can't match if - exist
mysql select * from fullsearch where match (title,body) against ('018-E'); Empty set (0.00 sec) it returns an empty set, is it possible to also search with - dash? chars? I'm not an expert but others will correct me : In a fulltext search, the search string must be at least 4 characters ? Otherwise, Mysql ignore it ? Bertrand. -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
match a fulltext search with a - dash, can't match if - exist
this is a working example i found on mysql.com this is my example of fullsearch mysql desc fullsearch; +---+--+--+-+-++ | Field | Type | Null | Key | Default | Extra | +---+--+--+-+-++ | id| int(10) unsigned | | PRI | NULL| auto_increment | | title | varchar(200) | YES | MUL | NULL|| | body | text | YES | | NULL|| +---+--+--+-+-++ 3 rows in set (0.00 sec) my data: mysql select * from fullsearch; ++---+---+ | id | title | body | ++---+---+ | 1 | MySQL Tutorial| DBMS stands for DataBase ... | | 2 | How To Use MySQL Well | After you went through a ... | | 3 | Optimizing MySQL | In this tutorial we will show ... | | 4 | 1001 MySQL Tricks | 1. Never run mysqld as root. 2. ... | | 5 | MySQL vs. YourSQL | In the following database comparison ... | | 6 | 018-E | Test for Title Item COde search language, etc | | 7 | MySQL Security| When configured properly, MySQL ... | ++---+---+ my search the title with a - code mysql select * from fullsearch where match (title,body) against ('018-E'); Empty set (0.00 sec) it returns an empty set, is it possible to also search with - dash? chars? -- Louie Miranda http://www.axishift.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]