【问题标题】:Excluding mongodb field from elasticsearch river import从 elasticsearch 河流导入中排除 mongodb 字段
【发布时间】:2014-04-18 11:14:42
【问题描述】:

我已经安装了一个连接 mongodb 和 elasticsearch 的 elasticsearch 河(使用this 插件)。我为 mongodb 定义了某个架构,为 elasticsearch 定义了某个映射。

我找不到有关如何从 mongodb 中排除字段不被河流处理的任何信息。我认为最可行的方法是将这些字段的弹性搜索映射修改为store:no,index:not_analyzed,include_in_all:false

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

有人对此有什么建议吗?

【问题讨论】:

    标签: mongodb elasticsearch elasticsearch-plugin


    【解决方案1】:

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

    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

    希望它有帮助..!

    【讨论】:

    • 我已经尝试从河流中排除字段,但显然它们仍然保存在 _source 中。所以基本上回到第一方。
    猜你喜欢
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多