Heya,
ich habe vor kurzem ein wenig mit ElasticSearch angefangen und nun folgendes Problem:
Ich konvertiere wieder Steam64IDs zu Battleye GUIDS, um platz auf der fesplatte zu sparen gehe ich nun her und nimm die letzten 4 charactere des Battleye ID und füge hinten die möglichen steamids an, würde dann so aussehen
{g: "85e8", i: [76561198032854208, 76561198032893719, 765611980328512748, .....]}
{g: "j71s", i: [76561198032891651, 76561198032899164, 765611980328511851, .....]}
das Problem dass ich nun beim inserten habe ist dass wenn ich _update nutze muss ich bereits die ID wissen die ich jedoch nicht habe Update API
| Elasticsearch Reference [5.x]
| Elastic
Wenn ich updateByQuery nutze kann ich keinen Upsert nutzen Update By Query API
| Elasticsearch Reference [5.x]
| Elastic
Derzeit sieht mein Update so aus, das Problem hierbei ist dass ich kein upsert nutzen kann, wie kann ich also die "ROW" erstellen wenn diese noch nicht vorhanden ist?
elastic.updateByQuery({
index: "battleye_steam",
type: "conv",
body: {
scripted_upsert:true,
script: {
inline: "ctx.ids += params.id",
lang: "painless",
params: {
id: be[0]
}
},
query: {
match: {
g: be[1].substr(be[1].length - 4)
}
},
upsert: {
g: be[1].substr(be[1].length - 4),
i: be[0]
}
}
})
.then(console.log)
.catch(console.log)
Alles anzeigen