morit****@razil*****
morit****@razil*****
2007年 6月 28日 (木) 18:32:18 JST
> ところで検索結果の出力順ですが、関連度のようなものでソートされますか?
デフォルトでは関連度ではソートされません。
SELECT c1 FROM t1 WHERE MATCH(c1) AGAINST('*S3今日は' in boolean mode)
order by MATCH(c1) AGAINST('*S3今日は' in boolean mode) desc;
のようにソート条件を指定すると関連度順で結果が出力されます。
> またその値がある場合、値を確認するすべはありますでしょうか。
以下のようにして適合度の値を出力することができます。
SELECT c1, MATCH(c1) AGAINST('*S3今日は' in boolean mode) FROM t1 WHERE
MATCH(c1) AGAINST('*S3今日は' in boolean mode);
> できれば、その値を利用してあまりにも低いものは除外するなどの処理を
> したいと考えています。
以下のようにして適合度の下限を指定することができます。
SELECT c1 FROM t1 WHERE MATCH(c1) AGAINST('*S3今日は' in boolean mode) > 100;
ただし、このやり方だと検索結果数が大きくなると応答が遅くなると思います。
ソート条件を指定してlimitで件数を制限した方が実用的です。
--
森大二郎