Warum brauche ich "store": "yes" in elasticsearch?

Ich verstehe wirklich nicht warumKerntypen Link In den Attributbeschreibungen heißt es (zum Beispiel für eine Zahl):

store - Auf yes setzen, um das aktuelle Feld im Index zu speichern, no, um es nicht zu speichern. Der Standardwert ist no (beachten Sie,Das JSON-Dokument selbst wird gespeichert und kann von dort abgerufen werden)index - Auf no setzen, wenn der Wert nicht indiziert werden soll. In diesem Fall sollte store auf yes gesetzt werden, da, wenn es nicht indiziert und nicht gespeichert ist,es hat nichts damit zu tun

Die beiden kühnen Teile scheinen sich zu widersprechen. Ob"index":"no", "store":"no" Ich könnte noch den Wert von der Quelle erhalten. Dies kann nützlich sein, wenn ich beispielsweise ein Feld mit einer URL habe. Nein?

Ich hatte ein kleines Experiment, bei dem ich zwei Zuordnungen hatte, in einem wurde ein Feld festgelegt"store":"yes" und im anderen zu"store":"no".

In beiden Fällen konnte ich noch in meiner Abfrage angeben:

{"query":{"match_all":{}}, "fields":["my_test_field"]}

und ich bekam die gleiche Antwort und gab das Feld zurück.

Ich dachte, dass wenn"store" ist eingestellt auf"no" es würde bedeuten, dass ich das spezifische Feld nicht zurückerhalten konnte, sondern das Ganze bekommen musste_source und analysieren Sie es auf der Client-Seite.

Welchen Nutzen hat das Einstellen?"store" zu"yes"? Ist es nur relevant, wenn ich das Feld aus der Liste ausschließe?"_source" Feld explizit?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage