Debuginfo

思考とアウトプット

mroongaで色々検索してみた

以前書いた記事でインストールを行ったので挙動を確認してみる。groongaは簡単な説明しか読んでないので内部で何がおこっているか、理解してない^^;;とりあえず、実用重視で。

複数文字入れてみるとOR検索のようだ

SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("sort with")
mysql> SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("'sort with’”);     
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
| record_id | user_id  | know                              | how             | example                          | created_at          |
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
|         1 | 43874010 | How to sort with file size #linux | use du and sort | $ du -Sk . | sort -rn | head | 2013-02-11 11:03:49 |
|         3 | 43874010 | Change space with newline #linux  | use tr command  | $ tr ' ' '\n'                | 2013-02-11 11:03:49 |
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
2 rows in set (0.01 sec)

where colname = ‘’ との組み合わせ

whare match順番で速度が変わるのかは不明。。

SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("'sort with'") and user_id = '43874010'; 

where .. and .. で組み合わせることができるようだ

SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("sort") and MATCH(know) AGAINST("with")

Dプログマ!。何それ?

調べてみたらプログマを使うとANDとOR検索ができるっぽい。

 D+ IN BOOLEANMODE : AND検索 * *DOR IN BOOLEANMODE : OR検索

下記のように使える。

mysql> SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("*D+     sort with" IN BOOLEAN MODE);                 
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
| record_id | user_id  | know                              | how             | example                      | created_at          |
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
|         1 | 43874010 | How to sort with file size #linux | use du and sort | $ du -Sk . | sort -rn | head | 2013-02-11 11:03:49 |
+-----------+----------+-----------------------------------+-----------------+------------------------------+---------------------+
1 row in set (0.01 sec)

Dプログマとwhere colname = ‘’との組み合わせ

これです。欲しいのは。OR検索はほぼ使用しないので無視しよう^^

mysql > SELECT * FROM Knowhow WHERE MATCH(know) AGAINST("*D+ jquery" IN BOOLEAN MODE) and user_id = '43874010';