Thanks you for your prompt reply!

Luck of the Irish, I guess. This is another reason 
to test your systems on your client's platform, not 
your own. My client's target the Latin American 
population, so let's try this again with a more 
representative data sample.

Note that I had an error in my sql syntax in 
addition to my error in basic understanding of 
soundex.

INSERT INTO sound (name) VALUES ('Gonzales');

select id from sound where soundex(name) = 
soundex('Gonzalez');
returns 1 records

select id from sound where soundex(name) = 
soundex('Gonsallez');
returns 1 records

select id from sound where soundex(name) = 
soundex('Gimsallez');
returns 1 records

And, of course, 

select id from sound where soundex(name) = 
soundex('Calighim');
returns 1 records

select id from sound where soundex(name) = 
soundex('Callahan');
returns 0 records

Also, soundex has a known problem with first 
characters:
select id from sound where soundex(name) = 
soundex('Kallaghan');
returns 0 records

> I hate to be the one to break this to you, but
> soundex('Callaghan') != soundex('Callahan')
> 
> It's just the sad truth: the algorithm thinks they 
are pronounced
> differently, so it doesn't consider them to match.
> 
> soundex() is certainly better than nothing, but in 
many cases not much
> better. I'm not sure whether even MetaPhone (a 
more robust soundex variant)
> would get this case right, and all the 
mis-spelling systems I've ever
> implemented have been suplemented with a set of 
heuristics (like searching
> for all single-letter drops, adds, and 
transpositions) and often a
> mis-spelling database in an attempt to find 
suggested alternatives.
> 
> -rob
> 
> On 7/6/02 at 11:39 pm, Dave Callaghan 
<[EMAIL PROTECTED]> wrote:
> 
> > I want to use SOUNDEX for name queries, but I 
don't 
> > seem to be doing it correctly. 
> > 
> > As a test, I made a small table and popluated it 
> > with my name. My goal is to be able to find my 
name 
> > 'Callaghan', with its most common misspelling 
> > 'Callahan'. 
> > 
> > I've read the MySQL doc, so I know how to 
actually 
> > invoke soundex at the mysql prompt. I read an 
> > article that said soundex queries move more 
quickly 
> > if you add a column for the soundex.
> > 
> > Thus:
> > 
> > CREATE TABLE sound (
> >   id tinyint(3) NOT NULL auto_increment,
> >   name varchar(100) default NULL,
> >   sound varchar(100) default NULL,
> >   PRIMARY KEY  (id)
> > ) TYPE=MyISAM;
> > 
> > select soundex('Callaghan');
> > result = C425
> > 
> > INSERT INTO sound VALUES (1, 'Callaghan', 
'C425');
> > 
> > Simple enough. Now, I expected all three of the 
> > following queries to return a value. 
> > 
> > select id from sound where sound = 
> > soundex('Callaghan');
> > returns 1 records
> > 
> > select id from sound where sound = 
> > soundex('Callahan');
> > returns 0 records
> > 
> > select id from sound where name = 
> > soundex('Callaghan');
> > returns 0 records
> > 
> > I'm missing something obvious here, but I've 
read 
> > the doc and I'm not sure what's wrong.
> > 
> > -- 
> > Get your free email from www.linuxmail.org 
> > 
> > 
> > Powered by Outblaze
> > 
> > 
---------------------------------------------------------------------
> > 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
> > 
> > 
> 
> 


-- 
Get your free email from www.linuxmail.org 


Powered by Outblaze

---------------------------------------------------------------------
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

Reply via email to