磯部 和広
k-iso****@rozet*****
2012年 7月 6日 (金) 14:39:58 JST
いつもお世話になっております。
蛇足ですが・・・
>(b)
>SELECT * FROM book WHERE MATCH(title) AGAINST("キーワード" in boolean mode)
>OR MATCH(author) AGAINST("キーワード" in boolean mode) OR MATCH(publisher)
>AGAINST("キーワード" in boolean mode) ORDER BY MATCH(title) AGAINST("キーワード"
>in boolean mode) , MATCH(author) AGAINST("キーワード" in boolean mode) ,
>MATCH(publisher) AGAINST("キーワード" in boolean mode);
>こちらで、目的の結果を得ることが出来ました。
いいえ。
取得できていません。
これで取得できるのは、title・author・publisherの全てに
キーワードを含むものだけです。
下記、エビデンスです。
[k-isobe @ PMJ-MySQL1 ~]$ SQL1="SELECT id,title,author,publisher FROM book2 WHERE MATCH(title,author,publisher) AGAINST('日本' in boolean mode)"
[k-isobe @ PMJ-MySQL1 ~]$ keyWord="日本"
[k-isobe @ PMJ-MySQL1 ~]$ SQL2="$SQL1 ORDER BY
MATCH(title) AGAINST('$keyWord' in boolean mode) ,
MATCH(author) AGAINST('$keyWord' in boolean mode) ,
MATCH(publisher) AGAINST('$keyWord' in boolean mode)"
[k-isobe @ PMJ-MySQL1 ~]$ do_sql "$SQL2"
1 日本の心 日本人 大日本出版
[k-isobe @ PMJ-MySQL1 ~]$ keyWord="宇宙"
[k-isobe @ PMJ-MySQL1 ~]$ SQL2="$SQL1 ORDER BY
MATCH(title) AGAINST('$keyWord' in boolean mode) ,
MATCH(author) AGAINST('$keyWord' in boolean mode) ,
MATCH(publisher) AGAINST('$keyWord' in boolean mode)"
[k-isobe @ PMJ-MySQL1 ~]$ do_sql "$SQL2"
[k-isobe @ PMJ-MySQL1 ~]$