我正在为每个用户使用别名。对于每个别名,我将链接routingfilter:

PUT _/<index>/_alias/u1@u1.com'
{
  "routing": "u1@u1.com",
  "filter": {
    "term": {
      "user": "u1@u1.com"
    }
  }
}

因此,我正在设置索引和搜索正在使用routing信息。

我想使用_reindex api重新索引另一个索引上的所有文档。创建新索引后,我创建了所有别名。因此,我发现必须使用别名为文档重新索引,以保留路由策略。

有什么办法可以在_reindex上进行设置吗?

例:
POST _/_reindex
{
  "source": {
    "index": "old"
  },
  "dest": {
    "index": "new"
  }
}
'

有任何想法吗?

最佳答案

是的你可以:

POST _reindex
{
  "source": {
    "index": "old",
    "query": {
      "term": {
        "user": "u1@u1.com"
      }
    }
  },
  "dest": {
    "index": "new",
    "routing": "=u1@u1.com"
  }
}

07-24 09:39
查看更多