Kouhei Sutou
kou****@clear*****
2013年 4月 21日 (日) 10:26:37 JST
須藤です。 In <20248****@web10*****> "[groonga-dev,01301] utf8_unicode_ci使用時の検索結果について" on Sun, 21 Apr 2013 04:28:26 +0900 (JST), <mail_babir****@yahoo*****> wrote: > 前回に引き続きmroongaを利用していたところ、気になる挙動がありましたので、ご連絡させて頂きました。 ありがとうございます! > 具体的には、mroongaストレージモードにてutf8_unicode_ci指定のカラムにて、検索時に半角文字が全角文字と同一視されていないという点です。 確認したところ、groonga-normalizer-mysqlのバグだったので修正 しました! > また、MySQLでは > > SELECT * FROM `test` WHERE MATCH(`main`) AGAINST('フラッグ'); > > での検索に対して「ぶらっく black」がヒットする仕様となっており、こちらはmroongaでも同様かと思います。 > > ただ、個人的には濁音・半濁音・「ぁ」「ぃ」「ぅ」「ぇ」「ぉ」「っ」などは区別しつつ、カタカナとひらがなは同一視したいという場合もあります。 > > 具体的には「フラッグ」の検索結果に「ブラック」や「ふらつく」などが含まれると困る場合が多々あります。 > > MySQLの仕様とは異なるのですが、もし可能でしたら、これらを実現できる照合順序を追加して頂けると非常に助かります。 > > これができないために、ひらがな・カタカナを同一視する用途にも関わらず、utf8_unicode_ciを使うことができない場面が多々ありますので。 なるほど。 MySQLのcollationを増やすことはできないので、コメントに 'normalizer "NormalizerXXX"'とgroongaのノーマライザーを直接 指定する方法で実現することになると思います。 問題はノーマライザーの名前を何にするかということですが、うー ん、考えてみます。 -- 須藤 功平 <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