0
今日、mysqls MATCH()... AGAINST()を使用して問題が発生しました。mysqls MATCH()との関連性が完全に上の数値と一致する
私の問題を解決するのが簡単かもしれないと思うので、私は小さなSQLFiddleを作成しました。
私は完全に理解していますが、この「選択」の仕方では「Foo Bar Foo」が「Foo Bar」より関連性が高いのはなぜですか?しかし、私が望むのは、「フルマッチング」という用語は、「フルマッチングと少しだけ」という用語より高い関連性で扱われるということです。
title relevance
Foo Bar 0.046829063445329666
Foo Bar Foo 0.031219376251101494
Foo 0
Bar 0
"union"を使用して2つのステートメントを結合しなくても、この結果は可能ですか?
回答(ゴードン・リノフのおかげで):
SELECT *
FROM FOOBAR
WHERE title LIKE '%Foo Bar%'
ORDER BY (CASE WHEN title LIKE 'Foo Bar%' THEN 1 ELSE 0 end) DESC,
MATCH (title) AGAINST ('Foo Bar' IN BOOLEAN MODE) ASC
私が欲しかったこと!ありがとう!私は私の - 少し修正されたバージョンで私のスタートポストを更新します。 :) –