【问题标题】:Adding an extra field to already indexed data Solr向已索引的数据 Solr 添加一个额外的字段
【发布时间】:2014-08-21 13:44:17
【问题描述】:

我在 Solr 中索引了大约 1000 个文档。但他们都缺少一个领域。我需要为所有这些文档添加一个字段,并且该字段对所有文档都具有相同的值。我无权访问这些文档以再次索引它们。有没有办法在不重新索引所有数据的情况下做到这一点?

【问题讨论】:

  • 您始终可以通过向每个查询添加一个伪字段来为所有文档返回相同的值。假设新字段应该命名为“foo”,值应该是“42”,那么查询将是?q=*:*&fl=*,foo:42

标签: apache solr lucene indexing


【解决方案1】:

除非您已将架构配置为存储所有值,否则没有可用的方法可以在不重新索引的情况下将字段添加到文档中。如果您存储了所有字段,则可以使用原子更新为文档添加新字段,这样您就可以查询 Solr 以获取所有现有文档的 id 并以这种方式执行更新。

否则,您将不得不接受@michielvoo 的建议,并从查询字符串中返回一个静态值.. 但是您也可以在将其返回给用户之前将其附加到您的应用程序中(或者,您可以将该字段添加为 solrconfig.xml 中请求处理程序的默认值,以便您可以在服务器端对其进行编辑和更改)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2015-08-26
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 2018-01-19
    相关资源
    最近更新 更多