Sto costruendo un'applicazione con un modello complicato, come ad esempio Book, User e Review.Elasticsearch con più relazioni padre/figlio
Una revisione contiene sia l'ID libro che l'ID utente. Per poter cercare Libri che contengono almeno una recensione, ho impostato il libro come genitore della recensione e ho il routing come tale. Tuttavia, ho anche bisogno di trovare utenti che hanno scritto recensioni contenenti determinate frasi.
È possibile avere sia il libro che l'utente come genitore della recensione? C'è un modo migliore per gestire tale situazione?
Nota che non sono in grado di modificare il modo in cui i dati sono modellati/non disposti a farlo in quanto i dati vengono trasferiti a Elasticsearch da un database di persistenza.
Grazie, tuttavia i dati sono relativamente grandi, in modo da applicazioni lato join è quello che sto cercando di evitare. Con query avanzate come: "dammi i libri che hanno recensioni questo mese scritte dall'utente il cui nome è iniziato con John"?Fare un join sul lato dell'applicazione porterebbe a recuperare tutti gli utenti il cui nome iniziava con John e passava quegli id in un filtro termini? – tungd
@ tungd Ho completato la mia risposta e aggiunto un paio di riferimenti che potresti trovare interessanti – moliware
Ho già letto quegli articoli. Come indicato nella domanda, non sono in grado di modificare i modelli di dati. Immagino che l'application-side join sia l'unica strada da percorrere. Sto anche esaminando la funzione "lookup" del filtro "termini". Grazie comunque. – tungd