[groonga-dev,02131] Re: NormalizerMySQLUnicodeCIExceptKanaCIKanaWithVoicedSoundMarkがノーマライズした記号が意図したとおりトークナイズされない

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




groonga-dev メーリングリストの案内