Brilliant! I had no idea that something like this was built into MySQL. This will work very nicely. Thank you. -Kevin
----- Original Message ----- From: "Matt Schroebel" <[EMAIL PROTECTED]> To: "Kevin Stone" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Tuesday, November 05, 2002 1:01 PM Subject: RE: [PHP] Information Retrieval.. help > Why don't you use full text search, which creates a score? > > Two tutorials: > http://www.mysql.com/doc/en/Fulltext_Search.html > http://www.zend.com/zend/tut/tutorial-ferrara1.php > > The match words need to be at least 3 characters in length or you'll get > no results. > > > -----Original Message----- > > From: Kevin Stone [mailto:kevin@;helpelf.com] > > Sent: Tuesday, November 05, 2002 2:44 PM > > To: [EMAIL PROTECTED] > > Subject: [PHP] Information Retrieval.. help > > > > > > Hey list! I have written several simple search scripts to > > retrieve basic data.. that is to say I wasn't worried about > > the actual relevancy of what I was retrieving. Now I need to > > write a search script that retrieves information based on the > > search terms in order of relevancy. It doesn't have to > > feature boolean operations but it does have to be fast and > > flexible. This is what I have so far. > > > > The database contains: > > ID Description > > -- ------------ > > 1 jade gold ring > > 2 grandmas golden ring with leaves > > 3 silver and gold diamond bracelet > > > > The user enters the search string: > > "ring gold leaves" > > > > I split the string into words and query them separately: > > "SELECT ID FROM jewlry WHERE description LIKE \"%ring%\"" > > returns 1,2 > > "SELECT ID FROM jewlry WHERE description LIKE \"%gold%\"" > > returns 1,2,3 > > "SELECT ID FROM jewlry WHERE description LIKE \"%leaves%\"" returns 2 > > > > Then I combine the results into one array and use > > arraycountvalues() to eliminate redundencies and count the > > number of occurances of each row. The number of occurances > > of a row should be equal to its relevancy so I sort the array > > by value: > > array ( > > 2 => 3, > > 1 => 2, > > 3 => 1); > > > > Hopefully that wasn't too hard to follow. I as examine my > > code I get the distinct impression that this is an > > extraordinarily Primative method. :) If so do you have any > > suggestions for improving it or can you please point me to > > resources (tutorials, books, websites, etc..) that would help > > me develope more a sophisticated technique? > > > > Much appreciated! > > Kevin Stone > > [EMAIL PROTECTED] > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php