如何更新 Solr 集合中的字段名称?

Posted

技术标签:

【中文标题】如何更新 Solr 集合中的字段名称?【英文标题】:How to update Field Name in Solr Collection? 【发布时间】:2020-12-14 06:53:50 【问题描述】:

我有一个 solr 索引数据,如下所示。 我的要求是将字段名称 MATERIAL_DOCUMENT_YEAR 这实际上是 MATERIAL_DOCUMENT_DATE 的日期。 数据以百万为单位,重新索引需要更多时间。

Solr UI 有什么方法可以更新字段名称,而无需重新索引整个数据?


  "responseHeader":
    "zkConnected":true,
    "status":0,
    "QTime":39,
    "params":
      "q":"SOLR_DATA",
      "_":"1607925693065",
  "response":"numFound":129500000,"start":0,"maxScore":5.632038,"docs":[
      
        "PLANT":["HYD"],
        "STOCK_TYPE":[""],
        "Table_Name":["TBL_MATERIAL_DOC_DISPLAY"],
        "MATERIAL_DOCUMENT_YEAR":["20140312"],
        "MATERIAL_DESCRIPTION":["T-SHIRT-XXL"],
        "MATERIAL_DOCUMENT_NUMBER":["12345678"],
        "MOVEMENT_TYPE":["123"],
        "COST_CENTER":[""],

【问题讨论】:

如果不重新索引就无法重命名字段......也许你可以添加另一个具有正确名称的字段......一旦为所有字段添加了它,你就可以删除早先的错误字段... 第二种方法是创建另一个具有正确字段名称的集合...一旦新集合中的所有数据都是最新的,那么您可以使用较早的集合名称为其创建别名...然后删除旧索引... 【参考方案1】:

如果不重新索引和修改 schema.xml,就无法重命名字段 也许您可以添加另一个具有正确名称的字段。 一旦为所有字段添加了它,您就可以删除之前的错误字段。

第二个选项是创建另一个具有正确字段名称的集合。 一旦新集合中的所有数据都是最新的,您就可以使用较早的集合名称为其创建别名。

完成上述所有操作后,您就可以删除旧索引...

【讨论】:

以上是关于如何更新 Solr 集合中的字段名称?的主要内容,如果未能解决你的问题,请参考以下文章

oracle中的数据集合操作

solr的schema.xml字段类型都有哪些

更新数据

怎么修改solr家里的solr实例名称

字段名称存储在表中时如何改进数据加载

solr 排序与文档分数计算