3 つのテキストフィールドと 1 つの ID フィールドを含むテーブルがあります。
このテーブルは、ユーザー検索の関連性に基づいて投稿の ID のコレクションを取得するためだけに存在します。
問題は、望ましい結果を得るために SQL 連続体をワープするのに必要なアインシュタインの知性が私に欠けていることです -
SELECT `id` FROM `wp_ss_images` WHERE `keywords` LIKE '%cute%' OR `title` LIKE '%cute%' OR `content` LIKE '%cute%'
- これは、関連性の低いものから関連性の低いものへのリストを取得するのに本当に十分ですか、それとももっと良い方法がありますか?
もちろん、データベースは最大 20,000 行になる可能性があるため、効率を維持したいと考えています。
これが更新です-私は全文ルートに行きました-
例:
SELECT `id` FROM `wp_ss_images` WHERE MATCH (`keywords`,`title`,`content`) AGAINST ('+cute +dog' IN BOOLEAN MODE);
ただし、いずれかの単語ですべてのエントリを取得しているようです。これを絞り込んで出現回数ごとの関連性を示すにはどうすればよいですか?