Sto creando un sistema di notifica per eventi particolari.
Un utente può impostare i criteri che corrispondono a particolari eventi (ad es. Nuovo elemento, elemento modificato, oggetto chiuso, ecc.) Gli elementi hanno caratteristiche diverse (ad esempio Minore, Maggiore, Critico). Quindi un utente può impostare una ricerca per Tutti i nuovi elementi critici.
Qual è il modo più efficiente per identificare quelli che corrispondono alle ricerche salvate degli utenti e inviare notifiche a loro ogni volta che si verifica un evento?
Un modo sarebbe quello di eseguire TUTTE le ricerche salvate per tutti gli utenti, ogni volta che si verifica un evento e vedere quali elementi si trovano in quei risultati di ricerca e inviare notifiche.
Il problema con questo metodo che vedo è che è inefficiente (le ricerche salvate potrebbero diventare diverse) e la complessità di questo algoritmo è direttamente proporzionale al numero di ricerche.
Qualcuno sa come fanno i siti web, come i siti web delle proprietà? Invia email per nuove proprietà che corrispondono alle ricerche degli utenti.
Sto pensando ad un modo per mappare nuovi eventi agli utenti, data la loro ricerca in qualche modo senza eseguire tutte le ricerche.