tf:phonetic

Hi Taminoes,

Could you give me some help to setting up phonetic search for Brazilian Portuguese words?

I’ve heard that this could be done with Adabas, so I think it won’t be so tough to do on Tamino.

Thanx in advance, Ito

Hello Ito,

The way that phonetic searches are performed between Adabas and Tamino are not really comparable.

To perform a phonetic search with Adabas you first need to create a phonetic-key. This is done by installing and calling the Adabas User Exit 3. This user exit is used to perform user-defined phonetization

The user exit must develop a three-byte phonetic key based on the value that is supplied, i.e., you code this; it is not supplied by Adabas. This is most likely what was being referenced when you heard that Adabas supported this. Since this is user-defined code, you have total control over how the phonetic-key?s are created.

With Tamino the function tf:phonetic is used. This function is specific to Tamino. It takes a search string as an argument and returns all strings that are “phonetically equivalent”.

Tamino performs this search according to a set of rules that is modeled after the widely known Soundex algorithm. It is based on the pronunciation of the English language, but also includes checks for character combinations that occur in German.

This means that the accuracy of the algorithm is highest for English and German, but it can also be used for other languages. However, it is not exact: Sometimes it will fail to identify words that are homophones, and sometimes the algorithm will incorrectly detect a match when in fact the pronunciation of the word is quite distinct.

The algorithm works by reducing letters or combinations of letters to their phonetic equivalents. The specific rules and examples are documented in the Xquery 4 Reference Guide under Functions in the Tamino documentation.

If the results when using the tf:phonetic function are not what you want for your phonetic search of Brazilian Portuguese words I do not see why you could not “re-create” the Adabas functionality in Tamino. As an example, using a Tamino Server Extension and a Trigger Function you could build your Adabas user-defined phonetization into Tamino.

Rob

Hi Rob,

Thank you for your reply. ;D

Your idea about re-creating this functionality using SXS is the better way I see to do that.

Regards to Highlands Ranch! Nice place…
Ito