すべてのフィールドを保持している2人の違いはわかりません。Elasticsearchの_sourceと_allの違いは何ですか?
私の文書が持っている場合:
{"mydoc":
{"properties":
{"name":{"type":"string","store":"true"}},
{"number":{"type":"long","store":"false"}},
{"title":{"type":"string","include_in_all":"false","store":"true"}}
}
}
私は_sourceは、すべてのフィールドを持っている分野であることを理解しています。しかし、そうなのですか? これは、「名前」が複数回(_srcと_allに2回)保存され、文書のディスク容量が増えることを意味しますか?
は、「名前」に一度_sourceため、フィールドに一度格納され、一度_allのためですか? 「番号」については、_sourceではなく、すべてに格納されていますか?
いつ私のクエリで_sourceを使用する必要がありますか?
私は「_all」を無効にすることができユースケースで、どのような機能はその後、私を拒否されるでしょうか?
ありがとうございます! フィールドを「インデックス」に設定した場合:「いいえ」、それでも「_all」に表示されます。 したがって、一度に複数の指定フィールドでフルテキスト検索を行うつもりがない場合、すべてのフィールドで「include_in_all」をfalseにするとスペースが節約されますか? – eran
私はその間に私の答えにいくつかの考えを加えました。 '_all'フィールドは、デフォルトで' 'index ':yes''に設定されています。' 'include_in_all''オプションを使用していない場合、他のフィールドのマッピングには関係しません。 '_all'フィールドを使用しない場合は、すべてのフィールドを' 'include_in_all ':false''に設定するのではなく、完全に無効にします。 – javanna
ありがとうございます。 '_all'フィールドを無効にするとかなりのディスク容量を節約できますか? (それは、直感的に必要なスペースをほぼ倍増すると思われます) – eran