es-painless-fields
Advanced tools
Comparing version
22
index.js
'use strict'; | ||
const {unflatten} = require('flat'); | ||
module.exports = { | ||
@@ -17,4 +19,4 @@ /** | ||
source, | ||
params: fieldsMap | ||
} | ||
params: unflatten(fieldsMap) | ||
}; | ||
}, | ||
@@ -27,9 +29,11 @@ /** | ||
replace(fieldsReplacements = []) { | ||
const source = fieldsReplacements.map((replaceRule, i) => { | ||
const sourceField = `ctx._source.${replaceRule.field}`; | ||
const pattern = `params.patterns[${i}]`; | ||
const substring = `params.substrings[${i}]`; | ||
const source = fieldsReplacements | ||
.map((replaceRule, i) => { | ||
const sourceField = `ctx._source.${replaceRule.field}`; | ||
const pattern = `params.patterns[${i}]`; | ||
const substring = `params.substrings[${i}]`; | ||
return `${sourceField} = ${sourceField}.replace(${pattern}, ${substring});` | ||
}).join(' '); | ||
return `${sourceField} = ${sourceField}.replace(${pattern}, ${substring});`; | ||
}) | ||
.join(' '); | ||
@@ -43,4 +47,4 @@ return { | ||
} | ||
} | ||
}; | ||
} | ||
}; |
{ | ||
"name": "es-painless-fields", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Helpers for bulk update Elasticsearch documents by query using Painless scripts", | ||
@@ -17,2 +17,3 @@ "license": "MIT", | ||
"coverage": "jest --coverage", | ||
"lint": "eslint . --fix", | ||
"test": "jest" | ||
@@ -31,5 +32,11 @@ }, | ||
], | ||
"dependencies": {}, | ||
"dependencies": { | ||
"flat": "^4.0.0" | ||
}, | ||
"devDependencies": { | ||
"jest": "^21.2.1" | ||
"eslint": "^4.14.0", | ||
"eslint-config-prettier": "^2.9.0", | ||
"eslint-plugin-prettier": "^2.4.0", | ||
"jest": "^21.2.1", | ||
"prettier": "^1.9.2" | ||
}, | ||
@@ -36,0 +43,0 @@ "jest": { |
@@ -1,2 +0,2 @@ | ||
# es-painless-fields [](https://travis-ci.org/vladgolubev/es-painless-fields) | ||
# es-painless-fields [](https://travis-ci.org/vladgolubev/es-painless-fields)  | ||
@@ -49,2 +49,4 @@ > Helpers for bulk update Elasticsearch documents by query using Painless scripts | ||
Also can be in a flat form, like `{'a.b.c': 1}` | ||
### .replace(fieldsReplacements) | ||
@@ -81,1 +83,3 @@ | ||
MIT © [Vlad Holubiev](https://vladholubiev.com) | ||
5418
7.48%42
7.69%84
5%1
Infinity%5
400%+ Added
+ Added
+ Added