从elasticsearch河流导入中排除mongodb字段

时间:2014-03-13 15:28:54

标签: mongodb elasticsearch elasticsearch-plugin

我安装了一条连接mongodb和elasticsearch(使用this插件)的elasticsearch河。我有为mongodb定义的某个模式和为elasticsearch定义的某个映射。

我找不到有关如何从河流中处理mongodb中的字段的任何信息。我认为最接近可行的是将那些字段的elasticsearch映射修改为store:no,index:not_analyzed,include_in_all:false

我仍然不清楚使用上述解决方案是否完全避免了任何处理,因为理论上所有json提交都存储在_source中。

有人对此有任何建议吗?

1 个答案:

答案 0 :(得分:2)

是的,你可以在mongo-river.you需要在河流映射中指定排除字段..我附上了一个示例代码..检查出来..

curl -XPUT 'http://IP:9200/_river/mongodb/_meta' -d '{
"type": "mongodb", 
"mongodb": { 
    "db": "DATABASE_NAME", 
    "collection": "COLLECTION", 
    "gridfs": true
}, "options": { 
  "secondary_read_preference" : true, 
  "drop_collection": ${mongo.drop.collection}, 
  "exclude_fields": ${mongo.exclude.fields},
  "include_fields": ${mongo.include.fields},
  "include_collection": ${mongo.include.collection},
  "import_all_collections": ${mongo.import.all.collections},
  "initial_timestamp": {
    "script_type": ${mongo.initial.timestamp.script.type},
    "script": ${mongo.initial.timestamp.script}
  },
  "skip_initial_import" : ${mongo.skip.initial.import},
  "store_statistics" : ${mongo.store.statistics},
},

"index": { 
    "name": "ES_INDEX_NAME", 
    "type": "ES_TYPE_NAME" 
}
}'

有关更多信息,请参阅:            https://github.com/richardwilly98/elasticsearch-river-mongodb/wiki

它有帮助......!