正規化のモード
Unicode正規化には、以下の4つのモードがある
- NFC
- NFD
- NFKC
- NFKD
検索エンジンで使用する場合は、"NFKC"を使用することが一般的。
これは、検索漏れを起こさず、できるだけ高速に検索実施させたいためである。
検索速度より向上させるために
Unicodeでは、”ガ”という文字は、以下の2通りで表現可能
- 平仮名か+濁点(合成可能)という2文字
→NFD,NFKD
- 濁点付き平仮名かという1文字
→NFC,NFKC
できるだけ短くした方が良いため、後者の方がよい
検索漏れをなくす
"№"などのような特殊文字として、1文字で表現できます。
しかし、検索時には"№"という1文字でも、"No"という半角2文字でもヒットしてほしい。
そのため、これを満たす正規化は、NFKDとNKDCである。
ちなみに、有名な特殊文字は他にも㍻、㈱がある。
上記の2つの理由より、検索エンジンで使用される正規化ルールは、NFKCが一般的である。
参考:http://http://homepage1.nifty.com/nomenclator/unicode/normalization.htm