Solr更新字段基于另一个字段

时间:2017-02-14 16:14:11

标签: solr copy field atomic

我需要在Solr数据库中创建一个新字段。

我的数据如下: 的 {    id:"某事",    name_s:"某个名字" }

我想添加一个新字段 name_t

问题是我想要使用 name_s 的值更新新字段 name_t 。我想这样做我的整个收藏文件

我期待找到这样的东西: {id:" xxx",name_t:{add:$ name_s}}

有没有办法实现这个目标?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您拥有存储/ docValues的所有字段,那么这将起作用:

  1. 为name_t添加copyField,例如

    <copyField source="name_s" dest="name_t"/>

    当然,您需要动态类型* _t或字段等。

  2. 使用cursorMark以有效的方式迭代所有文档
  3. 对于每个文档,使用atomic update触发重新索引,将某个字段更新为相同的当前值。我认为可能有一种方法可以通过不发送操作来触发它,但不确定细节。