Ich bin ziemlich neu in Elasticsearch: Ich habe eine Elasticsearch Mapping entwickelt, um Daten aus stark normalisierten SQL Server-Datenbanken aufzunehmen. Ich mache eine volle Ladung von Millionen von Datensätzen jedes Mal, wenn ich eine Strukturänderung (Mapping-Änderung) habe. Dies würde manchmal so sperrig und langsam Tage dauern, um abzuschließen. Ich versuche, eine Möglichkeit zu finden, verschachtelte Array- und verschachtelte Objektfelder teilweise zu aktualisieren, ohne dass die gesamten Indexdaten indexiert werden müssen.Elasticsearch, wie man ein bestimmtes verschachteltes Array-Feld Dokumente aktualisiert, die bestimmte Kriterien qualifizieren?
dies ist, wie mein Mapping wie folgt aussieht:
{
"Product": {
"dynamic": "strict",
"properties": {
"ProductID": {
"type": "integer"
},
"ProductCategory": {
"index": "not_analyzed",
"type": "string"
},
"TotalNumberOfProduct": {
"type": "float"
},
"MetalProduct": {
"type": "nested",
"properties": {
"MetalProductCategory": {
"index": "not_analyzed",
"type": "string"
},
"MetalProductDescription": {
"index": "not_analyzed",
"type": "string"
},
"MetalProductID": {
"type": "integer"
}
}
}
}
}
}
ich mehr mehr MetalProducts verschachtelten Array Dokumente in einem einzigen Produkt Dokument haben kann. Eg. Unter ProductID 001 kann ich MetalProductID = 222 MetalProductID = 333 haben. Wie kann ich ein bestimmtes verschachteltes Dokument (MetalProductID = 222) unter ProductID = 001 aktualisieren? Danke für Ihre Hilfe.
Diese Antwort könnte helfen: http://stackoverflow.com/questions/38741658/elasticsearch-remove-update-field-inside-nested-object/38742217#38742217 – Val