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

Bye Bye Moore

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

mroongaで論理積・論理和の検索条件を扱う(mroonga_command編)

groonga

mroongaで論理を扱う場合、mroonga_commandでラッピングしてしまうのが手っ取りバ早そうです。
...もっとスマートな方法をご存知の方はお気軽にトマホークを御投擲下さい(震え声

AND(論理積)検索

両方一致のAND検索

mysql> select mroonga_command("select professors --output_columns name --filter 'name @ \"石\" && name @ \"田\"'");
+--------------------------------------------------------------------------------------------------------+
| mroonga_command("select actors --output_columns name --filter 'name @ \"石\" && name @ \"田\"'")   |
+--------------------------------------------------------------------------------------------------------+
| [[[2],[["name","ShortText"]],["石田 三成"],["石田 純一"]]]                                           |
+--------------------------------------------------------------------------------------------------------+
1 row in set (0.13 sec)

OR(論理和)検索

どちらか一致のOR検索。

mysql> select mroonga_command("select professors --output_columns name --filter 'name @ \"石\" || name @ \"田\"'");
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| mroonga_command("select professors --output_columns name --filter 'name @ \"石\" AND name @ \"田\"'")                                                  |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| [[[5],[["name","ShortText"]],["石田 三成"],["石田 純一"],["石橋 貴明"],["石橋 凌"],["石川 五右衛門"]]]                               |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.04 sec)