MySQL DB で (ある種の) 全文検索を作成しようとしています: 2 つのフィールドで文字列 'abc' の出現を検索し、TITLE
出現DESCRIPTION
回数 (行ごと) で結果を並べ替えたいのですが、できれば加重します。つまり、 で見つかったすべての 'abc' はTITLE
、 での一致の 2 倍にカウントされDESCRIPTION
ます。
これは 1 つの (おそらく長くて醜い) クエリでまったく可能ですか、それとも単語インデックス テーブルを作成する必要がありますか?
これまでの私のアプローチは、出現を見つけますが、並べ替えはしませんが、重みだけです。(私は PHP で後者を行いますが、これは非常に高価になり始めています):
SELECT * FROM CONTENT WHERE (`TITLE` like '%abc%' OR DESCRIPTION like '%abc')