正規化のモード

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