[groonga-dev,00982] Re: mroonga検索スコア順のソートについて

Back to archive index

磯部 和広 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 ~]$




groonga-dev メーリングリストの案内
Back to archive index