|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.codec.language.Nysiis
public class Nysiis
Encodes a string into a NYSIIS value. NYSIIS is an encoding used to relate similar names, but can also be used as a general purpose scheme to find word with similar phonemes.
NYSIIS features an accuracy increase of 2.7% over the traditional Soundex algorithm.
Algorithm description:
1. Transcode first characters of name 1a. MAC -> MCC 1b. KN -> NN 1c. K -> C 1d. PH -> FF 1e. PF -> FF 1f. SCH -> SSS 2. Transcode last characters of name 2a. EE, IE -> Y 2b. DT,RT,RD,NT,ND -> D 3. First character of key = first character of name 4. Transcode remaining characters by following these rules, incrementing by one character each time 4a. EV -> AF else A,E,I,O,U -> A 4b. Q -> G 4c. Z -> S 4d. M -> N 4e. KN -> N else K -> C 4f. SCH -> SSS 4g. PH -> FF 4h. H -> If previous or next is nonvowel, previous 4i. W -> If previous is vowel, previous 4j. Add current to key if current != last key character 5. If last character is S, remove it 6. If last characters are AY, replace with Y 7. If last character is A, remove it 8. Collapse all strings of repeated characters 9. Add original first character of name as first character of key
This class is immutable and thread-safe.
Soundex
Constructor Summary | |
---|---|
Nysiis()
Creates an instance of the Nysiis encoder with strict mode (original form),
i.e. |
|
Nysiis(boolean strict)
Create an instance of the Nysiis encoder with the specified strict mode:
true : encoded strings have a maximum length of 6
false : encoded strings may have arbitrary length
|
Method Summary | |
---|---|
Object |
encode(Object obj)
Encodes an Object using the NYSIIS algorithm. |
String |
encode(String str)
Encodes a String using the NYSIIS algorithm. |
boolean |
isStrict()
Indicates the strict mode for this Nysiis encoder. |
String |
nysiis(String str)
Retrieves the NYSIIS code for a given String object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Nysiis()
Nysiis
encoder with strict mode (original form),
i.e. encoded strings have a maximum length of 6.
public Nysiis(boolean strict)
Nysiis
encoder with the specified strict mode:
true
: encoded strings have a maximum length of 6false
: encoded strings may have arbitrary length
strict
- the strict modeMethod Detail |
---|
public Object encode(Object obj) throws EncoderException
EncoderException
if the supplied object is not of type
String
.
encode
in interface Encoder
obj
- Object to encode
String
) containing the NYSIIS code which corresponds to the given String.
EncoderException
- if the parameter supplied is not of a String
IllegalArgumentException
- if a character is not mappedpublic String encode(String str)
encode
in interface StringEncoder
str
- A String object to encode
IllegalArgumentException
- if a character is not mappedpublic boolean isStrict()
Nysiis
encoder.
true
if the encoder is configured for strict mode, false
otherwisepublic String nysiis(String str)
str
- String to encode using the NYSIIS algorithm
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |