Software Venture Consulting
ToMarket

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
Training
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages
Videos
Adventures
Links

Shopping Cart
Shopping Cart

Search:

Free Newsletter
Signup


Contact


Privacy Policy



FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

 

 

 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

Metaphone ( text ; option )

Rate this function:  

RatingRatingRatingRatingRating
  Average rating: 3.2  (23 votes)
  Discuss this Custom Function

Craig K. Gowens,  
 

Returns a phonetic key of a given word

Sample Input:
Metaphone ( Johnson ; 0 )
and
Metaphone ( Jansen ; 0 )
Sample Output:
JNSN


 Then copy & paste into FileMaker Advanced's Edit Custom Function window.

Click here to copy To Clip Manager if you have myFMbutler's Clip Manager installed

Description:

This function is a FileMaker implementation based on the Metaphone and DoubleMetaphone algorithms developed by Lawrence Philips (see the the December 1990 issue of the journal <i>Computer Language</i> as a primer). It is based primarily on the original Metaphone algorithm but contains some of the pronunciation exceptions from DoubleMetaphone. Various other implementations in C/C++, Java and VB can be found by Yahoo!ing or Googling "Metaphone".

Metaphone is an excellent choice for generating a phonetic index for searches based on pronunciation, spellchecking suggestions for mispelt words or as a key for grouping similar sounding words together.

The option flag gives you the choice of number of characters to return. For zero, the function returns the entire string. For any integer 1-6, the function will returns that number of characters. For example Metaphone(Vanlandingham; 0) returns FNLNTNHM, but Metaphone(Vanlandingham; 4 )returns FNLN.

I am open to and interested in comments and suggestions for improvements to the algorithm. Please feel free to email me at ckgowens at austin dot rr dot com.

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

Discuss:

Great function!

I have added a separator after string 0 to use the function with more than one word.
stringA = Substitute ( string1; [" " ; "*"] ; ["/" ; "*"] ; ["-" ; "*"]) ;
(the "*" itself is substituted with an " " in paddedtext-definition)

And a reintroduction of separator after string9:
stringB = Substitute ( string9; ["*" ;separator] ) /* Reintroduce word separator */

I still have two more wishes for the multiword version that I can not accomplish with my programming skills:
1. The ability to reduce every word in list to the length of the option-parameter (like WordShrink http://www.briandunning.com/cf/1374) (Now the length only applies to the whole string – not every word.)
2. The ability to let the rules in string1 and 8 apply to every word in the string – not only to the first and last respectively.

With both this included, you can make wonderful many-to-many relations for search functions. Ideal for library management systems.

Would like to post all modifications I have made, but this exceeds the 1500 character limit for comments.

Sjur Høgberg, Tønsberg, Norway
June 10, 2012 8:54am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
City/Location:
Comment:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 2 + 4 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. CF.TurnIt ( ValueToTurn )
  (Wed, Jul 30, 12:32pm)
2. Patternize ( direction ; pattern ; replaceChar ; value ; pad? )
  (Fri, Jul 25, 5:48pm)
3. RequestSQL ( fieldDesired ; fieldKey ; valueKey ; valueType)
  (Fri, Jul 25, 7:31am)
4. isLeapYear ( _year )
  (Thu, Jul 17, 8:29am)
5. AgeCalculation( Date( 4 ; 12 ; 1980 ) ;
  (Thu, Jul 17, 8:10am)
6. ntBitwiseOperation ( ope ; base ; value1 ; value2 )
  (Wed, Jul 16, 11:22pm)
7. ntRepeat( times ; statements ; resultValueName )
  (Mon, Jul 07, 8:51pm)
8. ฺBookRentalCal ( BookingStart; 1.5)
  (Sat, Jul 05, 8:25pm)

RSS Feed of Custom Functions