io correlerei ogni articolo con delle parole chiave come dici tu ( potresti creare anche uno script che quando crei un nuovo articolo aggiunga delle parole chiave es: trova la parola viaggio ed aggiunge vacanze tra le key ) dopodiché userei una select dal db costruita in modo da prendere le parole chiave del prodotto e cercare altri prodotti con le stesse chiavi.