Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Fuzzy Search
Message
From
24/09/2008 11:40:55
 
 
To
23/09/2008 17:15:28
Mike Yearwood
Toronto, Ontario, Canada
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01349328
Message ID:
01350225
Views:
28
>>>Hi.
>>>Anybody know if a 'Fuzy Search' can be done in Foxpro.
>>>Not exactly sure what is a Fuzzy Search but a few people have requested it .
>>>Regards,
>>>Gerard
>>
>>Hi Gerard,
>>
>>I did some research into this relatively recently. Here are some sites with algorithms that might help:
>>
>>http://www.creativyst.com/Doc/Articles/SoundEx1/SoundEx1.htm
>>http://fox.wikis.com/wc.dll?Wiki~ImproveSoundex
>>http://fox.wikis.com/wc.dll?Wiki~MetaphoneImplementation-SoundexAlternative
>>http://fox.wikis.com/wc.dll?Wiki~DoubleMetaphone-SoundexAlternative
>>
>>Now, having said that, :) I found they were all too slow for my purpose (searching through a huge database for possible matches). I ended up looking at tools like dtSearch and Netrics Search Server, both of which did admirable jobs, but both of which weren't cheap. My client decide Netrics was the one they wanted so I implemented the solution using that.
>
>Ummm. I recently incorporated DoubleMetaphone for surname searches. I added another field which holds the DoubleMetaphone code for that Surname. Of course, during a save, I update the surnamemetaphone field with the translated Surname. Then when the user does a search "Surname sounds like BLAH " I replace surname with the surnamemetaphone field and BLAH with the metaphone code. This yields the completely Rushmore optimized expression "upper(surnamemetaphone) = 'PL'". It is extremely fast. :)

Hi Mike,

it was 3 years ago that I did this. The search was against a medical database of all the drugs that WHO have recorded and I had to search multiple fields (I think 5) for a possibly matching string. The search speed was slow and the matches weren't great. But then again, my memory ain't great either so everything is a bit fuzzy anyhow :)
Frank.

Frank Cazabon
Samaan Systems Ltd.
www.samaansystems.com
Previous
Reply
Map
View

Click here to load this message in the networking platform