ElasticSearch是否支持array data type的类似集合的功能?
我希望能够为数组写入多种类型,并对数组值强制执行唯一性。
换句话说,我正在寻找像Redis'SADD或MongoDB addToSet这样的东西,但是对于ElasticSearch。
答案 0 :(得分:1)
您可以使用scripted updates完成此操作。
var fs = require('fs');
var csv = require('csv');
var mongo = require('mongodb');
var db = mongo.MongoClient.connect...
var readStream = fs.createReadStream('hugefile.csv');
readStream.on('data', function(data) {
readStream.pause();
csv.parse(data.toString(), { delimiter: ','}, function(err, output) {
db.collection(coll).insert(data, function(err) {
readStream.resume();
});
});
});
readStream.on('end', function() {
logger.info('file stored');
});
请注意,出于安全原因,Elasticsearch中的脚本存在许多限制;您可能需要查看文档中的Scripting module page。