yoku ts.
yoku0****@gmail*****
2014年 2月 12日 (水) 18:59:41 JST
yokuです。 この件、mysql-normalizer-mysql-1.0.6でひっそり直っているのが確認できました :) ありがとうございます。。 /* yoku0825 */ 2014年2月5日 22:40 Kouhei Sutou <kou****@clear*****>: > 須藤です。 > > In <CANM+Hhcxkfha-shfYBatXcjfG6WmuUS_rEKvE****@mail*****> > "[groonga-dev,02110] Re: NormalizerMySQLUnicodeCIExceptKanaCIKanaWithVoicedSoundMarkがノーマライズした記号が意図したとおりトークナイズされない" on Wed, 5 Feb 2014 21:17:48 +0900, > Naoya Murakami <visio****@gmail*****> wrote: > >> このあたり、ちょっと前にノーマライザをさんざんいじったので、原因がわかりました。 >> >> 以下で、ノーマライズ後のctypeを取得するんですが、ノーマライズ前の文字の長さ >> character_lengthを引いているので、元に戻しすぎて、誤った位置のctypeを取得 >> しています(symbolであるべきところがdigitに)。 >> >> https://github.com/groonga/groonga-normalizer-mysql/blob/master/normalizers/mysql.c#L372 >> >> この前のchecks対応で追加したノーマライズ後の文字の長さnormalized_character_length >> で引けば、適正な位置のctypeになり、TokenBigramが期待通りの挙動になることを >> 確認できました。 > > おぉ! > たしかにそのとおりでした! > ありがとうございます!直しておきました! > >> 開発者の方ならすぐわかることだと思うのですが、一応ご報告します。 > > 開発者並みのデバッグ力です!さすがです! > >> (これ、トークナイズ位置が誤っているので、TokenBigramでMroongaをつかっていて、 >> utf8の照合順序使っている人には影響が結構ありそうですね。。) > > ノーマライズ後の文字と元の文字のバイト数が違うときに発生する > んですが、NormalizerMySQLUnicodeCIのときも「!」→「!」の変 > 換があるので問題が発生しますね。。。「?」も同じですね。。。 > > すみません。。。 > > -- > 須藤 功平 <kou****@clear*****> > 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) > > Groongaサポート: > http://groonga.org/ja/support/ > パッチ採用はじめました: > http://www.clear-code.com/recruitment/ > コミットへのコメントサービスはじめました: > http://www.clear-code.com/services/commit-comment.html > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev