Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pencarian relevansi di beberapa tabel terkait

Berdasarkan jawaban di tautan yang Anda posting, Anda dapat melakukan sesuatu seperti ini

SELECT id,SUM(relevance) as total_relevance FROM (
SELECT 
    id, 
    (MATCH(title) AGAINST ('search string')) AS relevance
    FROM Cards
UNION
SELECT 
    Cards.id,
    (MATCH(brigade) AGAINST ('search string')) AS relevance
    FROM Brigades 
    INNER JOIN CardBrigades ON Brigades.id=brigade_id
    INNER JOIN Cards ON card_id=Cards.id 
UNION
SELECT 
    Cards.id,
    (MATCH(identifier) AGAINST ('search string')) AS relevance
    FROM Identifier 
    INNER JOIN CardIdentifier ON Identifier.id=identifier_id
    INNER JOIN Cards on card_id=Cards.id 
) AS combined_search 
GROUP BY id
HAVING total_relevance > 0

Saya tidak yakin seberapa baik kinerja ini. Anda mungkin lebih baik mencari solusi lain seperti Solr, Lucene, atau bahkan mesin penyimpanan NoSQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Basis Data Gagal di Sumber data Jboss

  2. Batasan kunci asing palsu gagal

  3. Bisakah saya menggunakan banyak pernyataan dalam kueri yang disiapkan JDBC?

  4. Perbandingan MySQL dengan nilai nol

  5. GALAT 1045 (28000):Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:YA)