Sono molto nuovo a elasticsearch e al suo ridimensionamento e ho una domanda che non so nemmeno come affrontare.impostazione del server Elasticsearch per l'elaborazione dei dati da microservices
Ecco la situazione:
Ci sono diversi server con applicazioni Microservice Rails. Ognuno di loro sta ottenendo ognuno il proprio bel pezzo di dati (in particolare, aggregando i messaggi di diversi social network - quindi i campi di ricerca indicizzabili sono gli stessi in tutti i database).
Ho bisogno di trovare una soluzione che permetta di mantenere i dati in cui è attualmente e di impostare un server elasticsearch dedicato esclusivamente alla ricerca attraverso più database senza le rispettive app Rails attivando questo server di ricerca. Significa potenzialmente impostare ES su ciascuno degli altri server, definendo i modelli di ricerca lì ma facendo la ricerca su più modelli su un server totalmente diverso.
L'obiettivo finale di queste manipolazioni deve essere l'invio di tutti gli oggetti ActiveRecord/o tutti gli attributi correlati all'applicazione principale.
È persino possibile raggiungere? Forse qualcuno ha avuto un problema simile?
Sono un po 'perso su come iniziare con esso.
Grazie @ chris-franklin, questo è esattamente il problema.Il servizio di indicizzazione menziona un'app separata che indicizza tutti i database esterni e quindi esegue la ricerca? – marinados
Io stavo pensando di creare un'app di ricerca che punta a più DB remoti, li indicizza tutti, esegue una ricerca su più modelli e restituisce tutto tramite un'API. È una cattiva strategia? E guarderò nei Nodi Tribù, sembra promettente! – marinados
Il nostro servizio di indicizzazione è un altro microservizio nella nostra architettura. Gestisce lo spostamento dei dati in Elasticsearch. Abbiamo un microservizio separato che gestisce la costruzione delle query di ricerca, inviandole a ES e quindi restituendo i risultati in un formato che l'interfaccia utente può facilmente utilizzare. Le vostre esigenze influenzeranno direttamente la complessità di questa architettura. Le nostre esigenze significano che abbiamo bisogno di servizi scalabili individualmente per gestire ogni passaggio. –