title: what is the difference between _source and _all in Elasticsearch
body: <p>The difference between the two, who hold all of the fields, eludes me.</p>
  
  <p>If my document has:</p>
  
  <pre><code>{"mydoc":
    {"properties":
        {"name":{"type":"string","store":"true"}},
        {"number":{"type":"long","store":"false"}},
        {"title":{"type":"string","include_in_all":"false","store":"true"}}
  
    }
  }
  </code></pre>
  
  <p>I understand that <code>_source</code> is a field that has all the fields. But so does <code>_all</code>?
  Does this mean that "name" is saved several times (twice? in <code>_source</code> and in <code>_all</code>), increasing the disk space the document takes?</p>
  
  <p>Is "name" stored once for the field, once for <code>_source</code>, and once for <code>_all</code>?
  what about "number", is it stored in <code>_all</code>, even though not in <code>_source</code>?</p>
  
  <p>When should I use <code>_source</code> in my query, and when <code>_all</code>?</p>
  
  <p>What is the use case where I can disable <code>_all</code>, and what functionality would then be denied?</p>