Я действительно не понимаю, почему в ссылке основных типов он говорит в описаниях атрибутов (например, для числа):
- store - установите значение yes, чтобы сохранить фактическое поле в индексе, а не хранить его. По умолчанию нет (обратите внимание, сам документ JSON хранится и может быть извлечен из него)
 - index - Установить значение no, если значение не должно индексироваться. В этом случае хранилище должно быть установлено в yes, так как если он не индексируется и не сохраняется, не имеет ничего общего с ним
 
Две смелые части, кажется, противоречат друг другу. Если "index":"no", "store":"no", я мог бы получить значение из источника. Это может быть полезно, если у меня есть поле, содержащее URL-адрес, например. Нет?
У меня был небольшой эксперимент, где у меня было два отображения, в одном поле было установлено значение "store":"yes", а в другом - "store":"no".
В обоих случаях я могу указать в моем запросе:
{"query":{"match_all":{}}, "fields":["my_test_field"]}
и я получил тот же ответ, возвращая поле.
Я думал, что если "store" установлено в "no", это означало бы, что я не смог бы восстановить конкретное поле, но должен был получить целое _source и проанализировать его на стороне клиента.
Итак, какая польза от установки "store" до "yes"? Является ли это только релевантным, если я исключаю поле из поля "_source" явно?