Kouhei Sutou
kou****@clear*****
2009年 8月 12日 (水) 13:45:51 JST
須藤です。 In <20090****@clear*****> "[groonga-dev,00156] grn_pat_scan()でGRN_STR_NORMALIZEが抜けている?" on Tue, 11 Aug 2009 23:26:32 +0900 (JST), Kouhei Sutou <kou****@clear*****> wrote: > よくわかっていないのですが、grn_pat_scan()の中で > grn_str_open()しているところは、GRN_STR_NORMALIZEも指定した > 方がよいのではないでしょうか? > そうしないと、望んだものがマッチしないような気がします。 説明が足りない気がするので、もう少し説明します。 Rubyのコードでアレですが、こんな感じのgrn_patがあるとします。 Groonga::Context.default_options = {:encoding => "utf-8"} words = Groonga::PatriciaTrie.create(:key_type => "ShortText", :key_normalize => true) words.add("リンク") words.add('リンクの冒険') words.add('冒険') words.add('ガッ') words.add('MUTEKI') このときに、 words.scan('muTEki リンクの冒険 ミリバール ガッ') とすると、「リンクの冒険」と「ガッ」しかマッチしません。 「muTEki」もマッチして欲しいんじゃないかと思うので、 GRN_STR_NORMALIZEが必要な気がしました。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)