ElasticSearch类似(唯一值列表)功能?

时间:2015-06-23 22:58:35

标签: elasticsearch set

ElasticSearch是否支持array data type的类似集合的功能?

我希望能够为数组写入多种类型,并对数组值强制执行唯一性。

换句话说,我正在寻找像Redis'SADD或MongoDB addToSet这样的东西,但是对于ElasticSearch。

1 个答案:

答案 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