是否可以在不重新编制索引的情况下为架构添加更多动态字段?架构中已经有很多动态字段:
<dynamicField name="*_i" type="int" indexed="true" stored="true" termVectors="false" termPositions="false" termOffsets="false"/>
<dynamicField name="*_l" type="long" indexed="true" stored="true" termVectors="false" termPositions="false" termOffsets="false"/>
<dynamicField name="*_t" type="text" indexed="true" stored="true" termVectors="false" termPositions="false" termOffsets="false"/>
<dynamicField name="*_s" type="string" indexed="true" stored="true" termVectors="false" termPositions="false" termOffsets="false"/>
现在我们需要能够存储float
。会向模式添加一个新的动态字段,如下所示:
<dynamicField name="*_f" type="float" indexed="true" stored="true" termVectors="false" termPositions="false" termOffsets="false"/>
这是否需要重建索引(特别是使用Solr 4.3)?
答案 0 :(得分:1)
如果要考虑现有文档的动态字段,则需要重新索引所有文档。
如果您对现有文档的更新很满意,或者您对现有文档感到烦恼,那么您只需添加此动态字段并重新启动服务器即可。
在第二种情况下,您无需重新索引。