またMySQLのUDFをつくってみた。
https://github.com/shigenobu/mysql_ws_neologd_normalize
今回は有名なneologdの標準化アルゴリズムに、CR・LF・タブ・水平タブを削除するものを追加したUDFです。
(参考 neologdの標準化アルゴリズム)
https://github.com/neologd/mecab-ipadic-neologd/wiki/Regexp.ja
なぜこれを作ったかというと、すべては検索のためですね。
入力も、対象データも、そして辞書すらも、すべて一定のアルゴリズムで標準化されることで、
正しく検索が機能するためです。
今回のUDFは、対象データの部分に該当します。
入力の部分は、C#とPHPでも同様のアルゴリズムを実装していますが、
そこまで大したものではないので、特に公開はしてないです。
※さらにいえば、入力の部分では、対象データと同じアルゴリズムの形態素解析も必要かなと思います。
だいぶ、cgoでMySQLのUDFを作ってきた(現在5つをgithubに公開)のですが、
今後はrustとかに手を出して、redisモジュールなんかもつくってみたいかと(自分の中で需要がないが。。)。
今回のUDFは、すでに長いこと実践投入しているので、多分大丈夫だと思います。
いや、他のUDFが不具合ありって、いうわけじゃないですけど。
以上