我使用river mongo将mongodb集合绑定到弹性搜索。
这导致mongo集合中的每个字段都将保存在elasticseach索引中。
我想知道如何忽略某些字段,不要让它保存在弹性索引中。
答案 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"
}
}'