2014-03-13 57 views
1

我已经安装了一个弹性搜索河流连接mongodb和elasticsearch(使用this插件)。我为mongodb定义了特定的模式,并为elasticsearch定义了特定的映射。从弹性搜索河流输入中排除mongodb字段

我找不到任何有关如何从mongodb中排除字段的信息。我能看到的最接近可行的方法是将这些字段的elasticsearch映射修改为store:no,index:not_analyzed,include_in_all:false

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

任何人对此有任何建议?

回答

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

HOpe它帮助..!

+0

我尝试过从河流中排除字段,但显然他们仍然保存在_source中。所以基本上回到原点。 – lesingerouge