Re: Full Text Search Problem
Sorry, I don't understand your answer. Could you kindly explain in more details? Thanks, Jack --- On Fri, 4/24/09, zhu dingze wrote: From: zhu dingze Subject: Re: Full Text Search Problem To: mysupp...@asuma.com Cc: mysql@lists.mysql.com Date: Friday, April 24, 2009, 5:57 PM 'Words' shows in more than 50% rows will be regards as a stop words. 2009/4/24 Hi, I've a table, 'article' which has a cloumn 'agency'with FULLTEXT (agency). 'agency' has six (6) rows of data: 'NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION (NOAA), NATIONAL OCEAN SERVICE (NOS), DEPARTMENT OF COMMERCE'. When I did a search like the following; SELECT COUNT(*) FROM article WHERE MATCH (agency) AGAINST ('DEPARTMENT OF COMMERCE'); It returned count(*) = 0 instead of count(*) = 6. Could you kindly advise me what did I do wrong? Thanks, Jack -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=mysql.li...@gmail.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
Re: Full Text Search Problem
'Words' shows in more than 50% rows will be regards as a stop words. 2009/4/24 > Hi, > > I've a table, 'article' which has a cloumn 'agency'with FULLTEXT (agency). > > 'agency' has six (6) rows of data: 'NATIONAL OCEANIC AND ATMOSPHERIC > ADMINISTRATION (NOAA), NATIONAL OCEAN SERVICE (NOS), DEPARTMENT OF > COMMERCE'. > > When I did a search like the following; > > SELECT COUNT(*) FROM article WHERE MATCH (agency) AGAINST ('DEPARTMENT OF > COMMERCE'); > > It returned count(*) = 0 instead of count(*) = 6. > > Could you kindly advise me what did I do wrong? > > Thanks, > > Jack > > > > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: > http://lists.mysql.com/mysql?unsub=mysql.li...@gmail.com > >
Full Text Search Problem
Hi, I've a table, 'article' which has a cloumn 'agency'with FULLTEXT (agency). 'agency' has six (6) rows of data: 'NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION (NOAA), NATIONAL OCEAN SERVICE (NOS), DEPARTMENT OF COMMERCE'. When I did a search like the following; SELECT COUNT(*) FROM article WHERE MATCH (agency) AGAINST ('DEPARTMENT OF COMMERCE'); It returned count(*) = 0 instead of count(*) = 6. Could you kindly advise me what did I do wrong? Thanks, Jack -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
Full Text Search Problem
Hi, I've a table, 'article' which has a cloumn 'agency'with FULLTEXT (agency). 'agency' has six (6) rows of data: 'NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION (NOAA), NATIONAL OCEAN SERVICE (NOS), DEPARTMENT OF COMMERCE'. When I did a search like the following; SELECT COUNT(*) FROM article WHERE MATCH (agency) AGAINST ('DEPARTMENT OF COMMERCE'); It returned count(*) = 0 instead of count(*) = 6. Could you kindly advise me what did I do wrong? Thanks, Jack -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
Full Text Search Problem
Hi, I've a table, 'article' which has a cloumn 'agency'with FULLTEXT (agency). 'agency' has six (6) rows of data: 'NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION (NOAA), NATIONAL OCEAN SERVICE (NOS), DEPARTMENT OF COMMERCE'. When I did a search like the following; SELECT COUNT(*) FROM article WHERE MATCH (agency) AGAINST ('DEPARTMENT OF COMMERCE'); It returned count(*) = 0 instead of count(*) = 6. Could you kindly advise me what did I do wrong? Thanks, Jack -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org
RE: Full text search problem
Good morning. Not knowing too much about PHP it looks like you are searching for `name`,`colour`,`gender`,`breed`,`location`,`description` Where there is a whitespace in the name. Could you use, $query_results = sprintf("SELECT * FROM dogslost WHERE `name` LIKE '% %'", $crit_results); God Bless Paul C. McNeil Developer in Java, MS-SQL, MySQL, and web technologies. GOD BLESS AMERICA! To God Be The Glory! -Original Message- From: Terry Riley [mailto:[EMAIL PROTECTED] Sent: Monday, June 21, 2004 5:08 AM To: [EMAIL PROTECTED] Subject: Re: Full text search problem Pieter, I think FTS minimum WORD size is 4 characters - you may to be searching with 3 on 'May May'. Not having ever used FTS; I believe you can adjust it to count 3-character words by changing the configuration, but I'm not sure where - and it would then need re-indexing, if I'm not mistaken. Hope that helps Terry --Original Message- > Hi > > I have a fulltext search on a dbase for lost pets. > My problem is the following: > > I have dog in the database called "May May" which doesnt show up in the > search results. A dog called "Doggy Doggy" does show up however. I > guess the problem is that MySql sees "May May" as being a date or > something and doesnt do a text compare. > > Here is my query, from php. > $query_results = sprintf("SELECT * FROM dogslost WHERE MATCH > (`name`,`colour`,`gender`,`breed`,`location`,`description`) AGAINST > ('%s' IN BOOLEAN MODE)", $crit_results); > > any ideas? > > Regards > Pieter > -- 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: Full text search problem
Hi Pieter, That's because "may" is a stopword in MySQL's full-text indexing, by default (like "can," "the," etc). You can define your own stopword file with the ft_stopword_file variable. And you can find the default, built-in list of stopwords in the file myisam/ft_static.c of the source distribution. Hope that helps. (Oh, also what Terry said in his reply!) Matt - Original Message - From: "Pieter Botha" Sent: Monday, June 21, 2004 3:54 AM Subject: Full text search problem > Hi > > I have a fulltext search on a dbase for lost pets. > My problem is the following: > > I have dog in the database called "May May" which doesnt show up in the > search results. A dog called "Doggy Doggy" does show up however. I guess > the problem is that MySql sees "May May" as being a date or something > and doesnt do a text compare. > > Here is my query, from php. > $query_results = sprintf("SELECT * FROM dogslost WHERE MATCH > (`name`,`colour`,`gender`,`breed`,`location`,`description`) AGAINST > ('%s' IN BOOLEAN MODE)", $crit_results); > > any ideas? > > Regards > Pieter -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: Full text search problem
Pieter, I think FTS minimum WORD size is 4 characters - you may to be searching with 3 on 'May May'. Not having ever used FTS; I believe you can adjust it to count 3-character words by changing the configuration, but I'm not sure where - and it would then need re-indexing, if I'm not mistaken. Hope that helps Terry --Original Message- > Hi > > I have a fulltext search on a dbase for lost pets. > My problem is the following: > > I have dog in the database called "May May" which doesnt show up in the > search results. A dog called "Doggy Doggy" does show up however. I > guess the problem is that MySql sees "May May" as being a date or > something and doesnt do a text compare. > > Here is my query, from php. > $query_results = sprintf("SELECT * FROM dogslost WHERE MATCH > (`name`,`colour`,`gender`,`breed`,`location`,`description`) AGAINST > ('%s' IN BOOLEAN MODE)", $crit_results); > > any ideas? > > Regards > Pieter > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Full text search problem
Hi I have a fulltext search on a dbase for lost pets. My problem is the following: I have dog in the database called "May May" which doesnt show up in the search results. A dog called "Doggy Doggy" does show up however. I guess the problem is that MySql sees "May May" as being a date or something and doesnt do a text compare. Here is my query, from php. $query_results = sprintf("SELECT * FROM dogslost WHERE MATCH (`name`,`colour`,`gender`,`breed`,`location`,`description`) AGAINST ('%s' IN BOOLEAN MODE)", $crit_results); any ideas? Regards Pieter -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]
Re: full-text search problem
Hi Anton, - Original Message - From: "Tichawa Anton" <[EMAIL PROTECTED]> > I have problems with full-text search. My table contains text lines from > computer-generated log files rather than documents written by humans, > and so my first problem is that I need an exact match rather than a > relevance value, i. e. if the search string is 'ai', I really need all > rows containing 'ai' to appear in the result, even if this includes > 99 % of all rows. Using MySQL FULLTEXT index doesn't appear suitable for your particular application. I would suggest simply using the LIKE function. For more fancy stuff, use REGEXP (RLIKE) with regular expressions. > Also, I would need to switch between 'case-sensitivity yes/no' and 'search > for whole words only yes/no'. Case sensitivity is possible with LIKE by for instance specifying BINARY. For regular expressions it simply depends on the pattern you specify. Search whole words yes/no can again be done fairly easily by having to different patterns. > Currently, I load all rows to the client and do the search on the client. > Is there, or will there be, a way to do this kind of text search on the > server? Shouldn't be a problem. See above. Another suggestion since the logfiles are computer generated, they might have a very fixed format. In that case, instead of storing them as text, you may want to parse the text lines and store the information in separate fields. Then you can index individual parts (timestamps, command groups) which will speed up searching as well as enhance your other search capabilities (summaries for a certain period, etc) by actually utilizing the facilities instead of simply using the database for storage. RDBMS are very good at summarizing, selecting sets of data according to search parameters, etc. But you have to design your tables with this in mind, otherwise you miss out on all the benefits. Regards, Arjen. -- MySQL Training Worldwide, http://www.mysql.com/training/ __ ___ ___ __ / |/ /_ __/ __/ __ \/ /Mr. Arjen G. Lentz <[EMAIL PROTECTED]> / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Technical Writer /_/ /_/\_, /___/\___\_\___/ Brisbane, QLD Australia <___/ www.mysql.com - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
full-text search problem
Hi, I have problems with full-text search. My table contains text lines from computer-generated log files rather than documents written by humans, and so my first problem is that I need an exact match rather than a relevance value, i. e. if the search string is 'ai', I really need all rows containing 'ai' to appear in the result, even if this includes 99 % of all rows. Also, I would need to switch between 'case-sensitivity yes/no' and 'search for whole words only yes/no'. Currently, I load all rows to the client and do the search on the client. Is there, or will there be, a way to do this kind of text search on the server? thanks in advance Anton Tichawa - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php