Solr 支持使用schema.xml添加新字段吗?

Solr 支持使用schema.xml添加新字段吗?,solr,Solr,我正在使用“schema.xml”来管理solr-5.5.3中的模式,我想在模式中添加一些字段。 我知道建议我使用ManageSchema和SchemaAPI来添加字段,但solr已经在客户环境中运行,所以我不想这样做 我尝试通过以下方式添加字段: 1.编辑schema.xml <field name="newfield" type="string" indexed="true" stored="true"

我正在使用“schema.xml”来管理solr-5.5.3中的模式,我想在模式中添加一些字段。 我知道建议我使用ManageSchema和SchemaAPI来添加字段,但solr已经在客户环境中运行,所以我不想这样做

我尝试通过以下方式添加字段:

1.编辑schema.xml

 <field name="newfield" type="string" indexed="true" stored="true" required="true"/>

2.重新加载堆芯或重新启动solr

我可以在SchemaBrowser中看到“newfield”。我执行了包含“newfield:*”这样的条件的查询,结果很好。看起来solr正在识别我添加的新字段

我有两个问题

  • 这是官方支持的吗?
  • 我发现添加字段对现有文档没有任何影响。如果我想让这些文档包含新字段,是否需要重新编制索引?(简而言之,删除所有现有文档并再次插入)
这是否得到官方支持

我发现添加字段对现有文档没有任何影响。如果 我希望这些字段有新字段,我需要重新编制索引吗?(简而言之, 删除所有现有文档并再次插入)

当数据已经在Solr的索引中并且您添加了一个新字段时,您必须再次更新数据。只要“id”字段的值相同,旧数据就会被覆盖


 

当数据已经在schema solr中时,添加一个新字段,然后只需再次更新数据。只要输入的“id”字段相同,数据就会被覆盖,以供回复。你的意思是我不必删除,只要用我添加的新字段更新所有索引就行了?是的。。只要“id”字段的值必须相同,数据就会被覆盖。否则,数据将作为新数据添加,这非常有用。我知道官方支持通过schema.xml添加新字段。是吗?请注意,在更新数据时,您仍然必须输入所有字段