0

「mysql」と「類似検索」の投稿がたくさんあることは知っていますが、質問の答えが見つかりません。多分私は盲目です:/


私は(例えば)3つのキーワードを持っているために私がしようとしていること - >犬猫家

そして今、このキーワードを使用してデータベース内のすべてのタイトルを検索したい-しかし! ヒット数の多い順に結果を並べ替えたい。

結果:
1) 私の犬と私の猫は家にいます (3)
2) 私は猫と犬を飼っています (2)
3) 私は私の家に猫を飼っています (2)
4) 私の家は大きいです (1)
. ..

同様の機能を試しましたが、うまくいきません。これはmysqlで可能ですか?

前もって感謝します!

4

1 に答える 1

0

これはニーズの読みやすいバージョンですが、学術的な知識のみを目的とした運用環境向けではありません。

Select 
   if( INSTR(your_column, 'dog')>0 ,1,0) +
   if( INSTR(your_column, 'cat')>0 ,1,0) +
   if( INSTR(your_column, 'house')>0 ,1,0) as my_rate,
   *
from 
   ...
order by my_rate desc
;

正しいアプローチは全文検索です

于 2013-06-03T07:17:25.333 に答える