Solr可以复制外部文件字段文件吗?

时间:2013-06-24 22:20:29

标签: solr

我有几个外部文件字段每小时重新加载一次。我的solrconfig.xml有

<dataDir>${solr.data.basedir}/${solr.core.name}</dataDir>

,外部文件字段文件位于此目录下,如external_*。使用Solr复制,我只能复制索引和配置文件。唯一的选择是在从站上单独重新加载这些文件,然后分别在所有从站上调用reloadCache吗?或者Solr可以复制外部文件字段文件吗?

2 个答案:

答案 0 :(得分:2)

Solr能够replicate the configuration files和索引 复制文件后,Solr核心将在从站上重新加载,无需手动完成。

编辑: -

外部文件的位置是要复制的数据文件夹。

还要重新加载外部文件,请检查link

答案 1 :(得分:2)

Solr不会自动复制ext文件字段文件,即使它们位于solrconfig.xml中指定的<dataDir>之下。要复制这些文件,我们需要在solrconfig中的复制处理程序中使用相对路径在confFiles下指定它们。

我的Solr conf dir(包含solrconfig.xml,synonyms.txt等)位于:

/var/solr/application-cores/List/conf

和包含ext文件字段文件的数据目录位于:

/var/solr-data/List

所以我的confFiles看起来像:

<str name="confFiles">solrconfig.xml,data-config.xml,schema.xml,stopwords.txt,synonyms.txt,elevate.xml,../../../../solr-data/List/external_eff_views</str>

不允许使用通配符,因此我必须单独指定每个ext文件字段文件: - (。

感谢@Jayendra指出的link,我可以在复制后在slave上重新加载ext文件字段,因为我在solrconfig.xml中设置了监听器,如:

<listener event="newSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader"/>
<listener event="firstSearcher" class="org.apache.solr.schema.ExternalFileFieldReloader"/>