我安装了一条连接mongodb和elasticsearch(使用this插件)的elasticsearch河。我有为mongodb定义的某个模式和为elasticsearch定义的某个映射。
我找不到有关如何从河流中处理mongodb中的字段的任何信息。我认为最接近可行的是将那些字段的elasticsearch映射修改为store:no,index:not_analyzed,include_in_all:false
。
我仍然不清楚使用上述解决方案是否完全避免了任何处理,因为理论上所有json提交都存储在_source中。
有人对此有任何建议吗?
答案 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
它有帮助......!