0

関連性アルゴリズムを使用した検索が必要で、データベースは mysql です。キーワードがタイトルに含まれているかどうか、テキスト内のキーワードの出現回数など、結果を日付で並べ替える必要があります。

対戦ではあまりコントロールできません。

4

2 に答える 2

3

このようなものはあなたが望むことをするでしょう:

select
  * 
from
  myTable
order by
  sum
  (
    itemdate='2009-10-09',
    title like '%keyword%',
    text like '%keyword%', 
    criteria4,
    criteria5
  )
  • 各基準は、偽の場合は 0 を返し、真の場合は 1 を返します。
  • それらをそれぞれ合計し、結果で並べ替えます。
  • 最も一致する基準を持つ行が一番上になります。

もちろん、基準ごとに 0 または 1 を指定するだけでなく、これらすべてを微調整できます。

于 2009-10-09T07:55:07.720 に答える
-4
select
  * 
from
  myTable
order by
(
    (itemdate='2009-10-09') +
    (title like '%keyword%') +
    (text like '%keyword%') +
    (criteria4) +
    (criteria5)
)

これは本当にうまくいきます。

于 2012-02-05T19:23:11.943 に答える