読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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)