1

こんにちはこのクエリがある場合:

 SELECT *,
      MATCH(tags) AGAINST ('book library' IN BOOLEAN MODE) AS resources_score 
      FROM books  HAVING resources_score > 0 
      ORDER BY resources_score DESC, id DESC ; 

追加することは可能ですかOR WHERE title LIKE ;

また、私のクエリはreturnig resource_score as1または0であるため、クエリ/検索/結果の精度を高めることは可能ですか?

結局のところ、1つのヒントの疑い、クエリの一致の精度はレコードの数に依存しますか?

助けてくれる人に感謝します

4

1 に答える 1

1

他のすべてが失敗した場合は、算術演算を使用して SQL 関数を組み合わせることができます。

 SELECT *,
 (title LIKE '%pattern%') + (MATCH(tags) AGAINST ('book library' IN BOOLEAN MODE))
   AS resources_score 
 FROM books HAVING resources_score > 0 
 ORDER BY resources_score DESC, id DESC ;

これにより、タイトルに「パターン」が含まれている場合、MATCH() によって返されるスコアに 1 が追加されます。

于 2012-11-29T20:13:28.380 に答える