Pensa a un indice come a una raccolta di record, a un documento come a un record JSON e al mapping come alle regole per interpretarne i campi.
Parti da un prodotto
{"name":"Blue shoes"
Questo documento appartiene all'indice products. Il mapping può dichiarare name come testo ricercabile, price come numero e created_at come data.
Supponi di cercare prodotti con prezzo inferiore a 200. Un price numerico consente a Elasticsearch di confrontare numeri. Una rappresentazione stringa serve confronti differenti ed è un sostituto inadeguato per query su intervalli numerici.
Lo stesso input richiede quindi un mapping scelto in base alle ricerche da supportare. JSON da solo non descrive tutto il comportamento di indicizzazione.
Il dynamic mapping deduce automaticamente i campi all'arrivo dei dati. È comodo per esplorare, ma un valore iniziale inatteso può stabilire un tipo inadatto. Dichiara esplicitamente i campi noti di produzione e controlla i nuovi nomi di campo arbitrari.
Aggiungere un campo è diverso dal cambiare il tipo di uno esistente. Quest'ultima operazione richiede generalmente un nuovo indice e la copia dei documenti tramite reindexing.
Una raccolta di domande di colloquio IT con risposte dettagliate — da Junior a Senior.
Dona