在elasticsearch中更改文档的_type

时间:2016-12-05 13:10:09

标签: elasticsearch lucene

我的弹性搜索索引中有两个TYPES。两者都有相同的映射。我使用一个用于活动文档,而另一个用于存档文件。

现在,我想归档一个文档,即将其_type从active更改为archived。两者都在相同的索引中,所以我也无法重新索引它们。

有没有办法在Elasticsearch 5.0中执行此操作?

2 个答案:

答案 0 :(得分:1)

更改类型很棘手。您必须删除然后使用新类型索引文档。

为什么文档中没有一个字段表示“活跃”。然后你可以使用bool查询来按你想要的那样过滤:

  {"query": {
       "bool": {
         "filter": [{"term": {"status", "active"}}],
         "query": { /* your query object here */ }
        }
     }
   }

答案 1 :(得分:0)

同意有一个表示文件活跃程度的字段。

(或)

  • 对“活动”和“非活动”类型使用两个不同的索引。
  • 使用映射到这些索引的别名。
  • 别名可以让您灵活地更改索引而无需停机。