DBFlute: PostgreSQLで大文字小文字を区別しない曖昧検索

@DBFlute, Java
MLで話題になったので、話題にします。
要は、PostgreSQLの「ilike」ですね。
大文字小文字区別なしに曖昧検索します。
cb.query().setMemberName_LikeSearch("s", new LikeSearchOption() {
  @Override
  public ExtensionOperand getExtensionOperand() {
    return WayOfPostgreSQL.OperandOfLikeSearch.CASE_INSENSITIVE;
  }
}.likePrefix());
where dflocal.member_name ilike 's%' escape '|'
ただ日本のシステムだと「アルファベットだけ区別なし」だと
あんまりうれしくないって感じが多いと思います。
(業務アプリのデータに対する比較ですし)
やるときは「あ」と「ア」も吸収して欲しいとかあるので、
実案件では検索用カラムを作って、その中にはある規則で
正規化された値を格納して、検索条件の値もその同じ規則で
正規化して曖昧検索することが多かったです。

無論、今後のこともありますし、まだ知らない拡張が
必要になったりする可能性もあるので、こういう形で
LikeSearchOptionの拡張領域を用意しています。
アーキテクトの方がその時の要件に合わせて独自拡張クラスを
作って、ディベロッパーに横展開するのが良いでしょう。