morit****@razil*****
morit****@razil*****
2009年 10月 26日 (月) 14:53:12 JST
森です。 すみません。これは想定通りの動作です。 正規化処理の都合で、tagは空白よりも手前に挿入されてしまいます。 これで実用上問題がある場合は、GRN_SNIP_SKIP_LEADING_SPACESを指定します。 GRN_SNIP_SKIP_LEADING_SPACESを指定すると、空白をとばしてtagを挿入しますが、 動作は遅くなってしまいます。 以上よろしくお願いします。 >>> Ryo Onodera さんは書きました: > 小野寺です。 > > grn_snip_open()に渡すflagsの値によって、不適切な場所にtagが挿入されてし > まうバグを発見しました。cutterの出力の抜粋になりますが、具体的には出力が > 次の様になってしまいます。 > > expected: <Groonga is an [[embeddable]] fulltext > actual: <Groonga is an[[ embeddable]] fulltext > > 詳しく調べるために、grn_snip_open()に渡せる3つのflagの組み合わせ8通り全 > てを試すテストを書いたところ、GRN_SNIP_NORMALIZEが他のフラグと組み合わさ > れた時の挙動が怪しいです。GRN_SNIP_NORMALIZEが有効でない残り4通りの挙動 > は全て同じで上のexpected:と同じになります。 > > GRN_SNIP_NORMALIZE単体あるいはGRN_SNIP_NORMALIZEとGRN_SNIP_COPY_TAGの時 > に、このバグは発生します。 > > しかしGRN_SNIP_NORMALIZEの他にGRN_SNIP_SKIP_LEADING_SPACESが組み合わされ > た時は、このバグは発生しません。 > > なぜこうなるかの原因は特定できていません。そして、これがテストを追加する > コミットです。 > > add test_proper_tag_insertion() > http://github.com/ryoqun/groonga/commit/6eca72392c307cc4e3af825db35c14700c51384c > > -- > 小野寺 諒 <onode****@clear*****> > 株式会社クリアコード (http://www.clear-code.com/) > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > -- morita