Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

mroongaで前方検索と後方検索

5/20追記:mroonga_command以外のバージョンも作りました
mroongaで論理積・論理和の検索条件を扱う(Boolean mode編) - Bye Bye Moore

前回に引き続きmroongaの検索条件について。

前方一致(??)

本来なら、その言葉から始まる言葉に一致するのですが...
何故か日本語だと含むカラムを全部引っ張ってくれます
英語だと上手く行くのに。
調べてみると、どうもmecabさんが仕事しすぎだとかなんとか...

mysql> select mroonga_command("select professors --output_columns name --filter 'name@^\"橋\"' --limit -1");
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mroonga_command("select professors --output_columns name --filter 'name@^\"橋\"' --limit -1")                                                                                                  |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| [[[8],[["name","ShortText"]],["橋下 徹"],["石橋 貴明"], ...                                  |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

後方一致

指定語句で終わるカラムを引っ張り出します。
これは上手くいく模様

mysql> select mroonga_command("select professors --output_columns name --filter 'name@$\"郎\"' --limit -1");
+------------------------------------------------------------------------------------------------------------------------------------------+
| mroonga_command("select professors --output_columns name --filter 'name@$\"郎\"' --limit -1")                                            |
+------------------------------------------------------------------------------------------------------------------------------------------+
| [[[5],[["name","ShortText"]],["田中 太郎"], ...                           |
+------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)