Just a quick question .. has anyone previously looked into implementing phonetic (e.g. soundex) name lookups when searching for company and contact names?
Is there a common approach to this issue?
Cheers,
Allan.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>Just a quick question .. has anyone previously looked into implementing phonetic (e.g. soundex) name lookups when >searching for company and contact names?
>
>Is there a common approach to this issue?
It sounds interesting but what exactly is:
>phonetic (e.g. soundex) name lookups
Kind regards,
Trifon
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>It sounds interesting but what exactly is:
>>phonetic (e.g. soundex) name lookups
Nice to tell you something (for a change) Trifon :) http://en.wikipedia.org/wiki/Soundex
And I do believe this is indeed something that would *interest* you!
It's a common functionality I think, at least I've seen it before and even I worked on one implementation many years ago.
It's not available in Adempiere currently though. I never checked but I wouldn't be surprised if something like oracle implemented this!?
colin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
SELECT * FROM C_BPARTNER WHERE SOUNDEX(NAME) = SOUNDEX('Joe Vlok')
It returns the record for Joe Block :-)
This sounds easy to implement - we can define a sysconfig parameter with the name of the soundex function to be used.
Sorrily the soundex algorithm is just for english - but for example I found here [1] how to implement it in spanish, so I think the soundex function name must be configurable.
Now, in the BPartner window we can put a flag "Phonetic Search" along the Name field - or even along with every string field - or maybe just one flag that cover all string fields.
We could also think to add the "Phonetic" flag to the Advanced Search (and/or to the Normal Search) - and also to product window, etc.
Some new developer wanting to make a name here? :-D
I implemented this for us but the build in oracle function doesn't work too well for german.. So I implemented the algorithm as a pl/java method and it broke the performance to an unusable level when I imported 5000 customers.. So I guess it is ok for english but you certainly can get into performance problems.
Best regards,
Karsten
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there,
Just a quick question .. has anyone previously looked into implementing phonetic (e.g. soundex) name lookups when searching for company and contact names?
Is there a common approach to this issue?
Cheers,
Allan.
Hi Allan,
>Just a quick question .. has anyone previously looked into implementing phonetic (e.g. soundex) name lookups when >searching for company and contact names?
>
>Is there a common approach to this issue?
It sounds interesting but what exactly is:
>phonetic (e.g. soundex) name lookups
Kind regards,
Trifon
>It sounds interesting but what exactly is:
>>phonetic (e.g. soundex) name lookups
Nice to tell you something (for a change) Trifon :)
http://en.wikipedia.org/wiki/Soundex
And I do believe this is indeed something that would *interest* you!
It's a common functionality I think, at least I've seen it before and even I worked on one implementation many years ago.
It's not available in Adempiere currently though. I never checked but I wouldn't be surprised if something like oracle implemented this!?
colin
Actually I see postgresql does for sure anyway!
http://www.postgresql.org/docs/8.3/static/fuzzystrmatch.html
colin
Hi Colin, just tested in Oracle-XE:
SELECT * FROM C_BPARTNER WHERE SOUNDEX(NAME) = SOUNDEX('Joe Vlok')
It returns the record for Joe Block :-)
This sounds easy to implement - we can define a sysconfig parameter with the name of the soundex function to be used.
Sorrily the soundex algorithm is just for english - but for example I found here [1] how to implement it in spanish, so I think the soundex function name must be configurable.
Now, in the BPartner window we can put a flag "Phonetic Search" along the Name field - or even along with every string field - or maybe just one flag that cover all string fields.
We could also think to add the "Phonetic" flag to the Advanced Search (and/or to the Normal Search) - and also to product window, etc.
Some new developer wanting to make a name here? :-D
Regards,
Carlos Ruiz - globalqss
http://globalqss.com
[1] http://oraclenotepad.blogspot.com/2008/03/soundex-en-espaol.html
>SELECT * FROM C_BPARTNER WHERE SOUNDEX(NAME) = SOUNDEX('Joe Vlok')
>It returns the record for Joe Block :-)
neat! I don't remember it being this easy when I had to do it :)
>Sorrily the soundex algorithm is just for english
I was just wondering about that!
that is a pity ok..
colin
Hi Carlso,
>>SELECT * FROM C_BPARTNER WHERE SOUNDEX(NAME) = SOUNDEX('Joe Vlok')
>>It returns the record for Joe Block :-)
Very nice and easy.
Thank you!
Kind regards,
Trifon
Hi,
I implemented this for us but the build in oracle function doesn't work too well for german.. So I implemented the algorithm as a pl/java method and it broke the performance to an unusable level when I imported 5000 customers.. So I guess it is ok for english but you certainly can get into performance problems.
Best regards,
Karsten