我的目标是插入一个新文档(如果已经存在,然后对其进行更新(如果没有更改,则不执行任何操作)。
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host:"**************",
log: 'trace',
});
"hits": [
{
"_index": "fds",
"_type": "_doc",
"_id": "9560206-El-MOHABXh-qOCdi1FYN",
"_score": 1.0,
"_source": {
"videoId": "El-MOHABXh-qOCdi1FYN",
"mobile": "9560206",
"name": "alexa",
"choice": "like",
"code": "+95",
"lastUpdate": "2020-01-15T06:12:00.073Z"
}
},
{
"_index": "fds",
"_type": "_doc",
"_id": "9560206-SQENUHEBcYN_H8khsonC",
"_score": 1.0,
"_source": {
"videoId": "El-MOHABXh-qOCdi1FYN",
"mobile": "9560206",
"name": "alexa",
"choice": "like",
"code": "+91",
"lastUpdate": "2020-01-15T06:12:00.073Z"
}
}]
我的问题是我们该如何在条件字段名称为videoId,mobile和code。]中添加文档
我的目标是插入一个新文档(如果已经存在),然后对其进行更新(如果没有更改,则不执行任何操作)。 var elasticsearch = require('elasticsearch'); var client = new elasticsearch ....
let inputData = {
"script" : {
"source": `ctx._source['name']='Apple';
ctx._source['choice']='unlike'`
},
"query": {
"bool": {
"filter": [{
"match": {
"code":"+91"
}
},{
"match": {
"videoId": "El-MOHABXh-qOCdi1FYN"
}},{
"match": {
"mobile": "9560206"
}
}]
}
}
}
client.updateByQuery({
index: indexname,
type: '_doc',
body: inputdata
})