如何忽略河流mongodb和elasticsearch中的某些字段?

时间:2015-04-21 13:23:17

标签: elasticsearch

我使用river mongo将mongodb集合绑定到弹性搜索。

这导致mongo集合中的每个字段都将保存在elasticseach索引中。

我想知道如何忽略某些字段,不要让它保存在弹性索引中。

2 个答案:

答案 0 :(得分:1)

设置mongodb river时,可以排除某些字段,例如

 "mongodb": {
        "db": "YourDbName",
        "collection": "YourCollectionName",
        "options": {
              "exclude_fields": "name_of_field_to_be_ignored"
            }
    },

答案 1 :(得分:0)

我从河流mongo wiki获得了另一种方法。通过使用脚本,您可以自定义..但是,您应该在elasticsearch.yml中将disable script设置为false。

https://github.com/richardwilly98/elasticsearch-river-mongodb/wiki

$ curl -XPUT "localhost:9200/_river/mongoscriptfilter/_meta" -d'
{
  "type": "mongodb",
    "mongodb": {
      "db": "testmongo", 
      "collection": "documents", 
      "script": "ctx.document.title = ctx.document.title_from_mongo; delete ctx.document.title_from_mongo;"
    },
    "index": {
      "name": "testmongo", 
      "type": "documents"
    }
}'