[groonga-dev,03978] tokenizeとtable_tokenizeとの結果の違いについて

Back to archive index

info****@webmk***** info****@webmk*****
2016年 3月 14日 (月) 17:46:55 JST


たびたびお世話になります。
いくつか不明な点がありまして質問させていただきます。

以下のコマンド(Groongaまたはmroonga_command)で、

tokenize TokenMecab 'Wi-Fi'

及び

table_tokenize contents#content 'Wi-Fi'

を実行すると、それぞれで結果が違ってきます。


「tokenize TokenMecab 'Wi-Fi'」を実行した場合の結果
(結果は整形しています)

Array
(
    [0] => stdClass Object
        (
            [value] => Wi-Fi
            [position] => 0
            [force_prefix] =>
        )

)



「table_tokenize contents#content 'Wi-Fi'」を実行した場合の結果

Array
(
    [0] => stdClass Object
        (
            [value] => wi
            [position] => 0
            [force_prefix] =>
        )

    [1] => stdClass Object
        (
            [value] => -
            [position] => 1
            [force_prefix] =>
        )

    [2] => stdClass Object
        (
            [value] => fi
            [position] => 2
            [force_prefix] =>
        )

)


MySQLのテーブル「contents」に正しくトークナイザーが設定されていれば、本
来は、どちらも同じ結果になると思うのですが、この認識は合っているでしょうか?
なお、Groongaコマンドの「table_list」の出力結果の一部は以下となってお
り、トークナイザーは正しく設定されているようです。

[2] => Array
        (
            [0] => 324
            [1] => contents#content
            [2] => mroonga_test.mrn.0000144
            [3] => TABLE_PAT_KEY|PERSISTENT
            [4] => ShortText
            [5] =>
            [6] => TokenMecab
            [7] => NormalizerAuto
        )

「tokenize TokenMecab 'Wi-Fi'」の結果も、「table_tokenize
contents#content 'Wi-Fi'」の結果も同じであることが正しい動作と考えている
のですが、もし、認識違いや設定のミス、確認しておいた方がいい点などありま
したらご教授願えませんでしょうか?

なお以前の質問での回答に従いまして、MeCabのインデックス更新、MySQLの再起
動、MySQLのインデックスの更新は行っています。




groonga-dev メーリングリストの案内
Back to archive index