Sto cercando di capire come ordinare articoli con tag corrispondenti per il numero di tag corrispondenti.Ordinamento di articoli con tag corrispondenti per numero di tag corrispondenti a
Diciamo che avere tre tabelle di MySQL:
tags(tag_id, title)
articles(article_id, some_text)
articles_tags(tag_id, article_id)
Ora diciamo che si hanno quattro articoli in cui:
article_id = 1
ha tag " umorismo "," f unny "e" esilarante ".
article_id = 2
ha tag "divertente", "silly," e "goofy."
article_id = 3
ha le etichette "divertente", "silly" e "goofy."
article_id = 4
ha il tag "del tutto sul serio."
È necessario trovare tutti gli articoli relativi a article_id = 2
di almeno un tag corrispondente e restituire i risultati in ordine delle migliori corrispondenze. In altre parole, il article_id = 3
dovrebbe venire prima, con article_id = 1
in secondo luogo e article_id = 4
non dovrebbe essere visualizzato affatto.
È questo qualcosa che è fattibile in query SQL o da soli, o si tratta di più adatto per una cosa del genere Sphinx? Se il primo, che tipo di query dovrebbe essere fatto, e che tipo di indici dovrebbero essere creati per i risultati più performanti? Se quest'ultimo, per favore, espandi.
la seconda sintassi è fantastico e ha funzionato esattamente il modo in cui avevo bisogno. Grazie mille! –