La differenza tra i due, che detengono tutti i campi, mi sfugge.qual è la differenza tra _source e _all in Elasticsearch
Se il mio documento ha:
{"mydoc":
{"properties":
{"name":{"type":"string","store":"true"}},
{"number":{"type":"long","store":"false"}},
{"title":{"type":"string","include_in_all":"false","store":"true"}}
}
}
capisco che sorgente_ è un campo che ha tutti i campi. Ma anche _all? Significa che i "nomi" vengono salvati più volte (due volte? In _src e in _all), aumentando lo spazio su disco occupato dal documento?
Il "nome" è memorizzato una volta per il campo, una volta per _source e una volta per _all? che dire di "numero", è memorizzato in tutti, anche se non in _source?
Quando dovrei usare _source nella mia query e quando _all?
Qual è il caso in cui è possibile disattivare "_all" e quale funzionalità sarebbe quindi negata?
Grazie! Se imposto un campo su "index": "no", appare ancora in "_all", giusto? Quindi, se non ho intenzione di fare una ricerca di testo completo su più di un campo specifico alla volta, trasformando "include_in_all" in "falso" su tutti i miei campi si risparmia spazio, giusto? – eran
Nel frattempo ho aggiunto altri pensieri alla mia risposta. Il campo '_all' è impostato di default come' "index": yes' e non si riferisce alla mappatura degli altri campi se non quando si utilizza l'opzione 'include_in_all'. Se non usi il campo '_all', lo disabilito completamente invece di impostare tutti i campi su' "include_in_all": false'. – javanna
Grazie, disabilitare il campo '_all' per risparmiare spazio su disco? (sembra quasi che raddoppi lo spazio necessario, intuitivamente) – eran