Menu

Phonetic Name Lookups

2008-05-30
2013-03-08
  • Allan Howard

    Allan Howard - 2008-05-30

    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.

     
    • Trifon (An ADempiere founder)

      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

       
      • Colin Rooney

        Colin Rooney - 2008-05-30

        >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

         
        • Colin Rooney

          Colin Rooney - 2008-05-30

          Actually I see postgresql does for sure anyway!
          http://www.postgresql.org/docs/8.3/static/fuzzystrmatch.html

          colin

           
          • Carlos Ruiz

            Carlos Ruiz - 2008-05-30

            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

             
            • Colin Rooney

              Colin Rooney - 2008-05-30

              >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

               
              • Trifon (An ADempiere founder)

                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

                 
                • karsten-thiemann

                  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

                   

Log in to post a comment.