概要 検索システムを扱う上で文字列の正規化は非常に重要な要素です。 大抵納品されるデータはフォーマットがバラバラ(全角半角、カタカナひらがなが統一されないなど)なので、この正規化によってある程度統一させることで検索の精度を向上できます。 環境 Elasticsearch 2.3 NFC、NFD、NFKC、NFKD Unicode正規化形式は主に4つあります。簡単にまとめると以下です。 名称 説明 具体例 NFC 正規分解して合成 「か」+「゛」→「が」 NFD 正規分解して分解 「が」→「か」+「゛」 NFKC 互換分解して合成 NFCと大体同じ。さらに「㌢」→「センチ」と展開 NFKD 互換分解して分解 NFDと大体同じ。さらに「㌢」→「センチ」と展開 解析フロー Elasticsearchの文字列の解析は以下の順で行われます。特にchar_filterとtoken_filterの順番に