使用舊版配置檔的 SolrCloud
如果您要從使用者管理的集群遷移到 SolrCloud,此資訊可能會有所幫助。
所有必要的設定都已在 Solr 隨附的範例設定中設定。如果您要遷移舊的設定檔,只需要加入以下內容。如果您打算在 SolrCloud 模式下使用 Solr,請勿從新的 Solr 實例中移除這些檔案和參數。
這些屬性存在於 3 個檔案中:schema.xml
或 managed-schema.xml
、solrconfig.xml
和 solr.xml
。
-
在 schema 檔案中,您必須定義一個
_version_
欄位<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
-
在
solrconfig.xml
中,您必須定義一個UpdateLog
。這應該在updateHandler
區段中定義。<updateHandler> ... <updateLog> <str name="dir">${solr.data.dir:}</str> </updateLog> ... </updateHandler>
-
DistributedUpdateProcessor 是預設更新鏈的一部分,會自動注入到您的任何自訂更新鏈中,因此您實際上不需要對此功能進行任何變更。但是,如果您希望明確地加入它,您仍然可以將其加入
solrconfig.xml
檔案中,作為updateRequestProcessorChain
的一部分。例如<updateRequestProcessorChain name="sample"> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.DistributedUpdateProcessorFactory"/> <processor class="my.package.UpdateFactory"/> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
如果您不希望將 DistributedUpdateProcessFactory 自動注入到您的鏈中 (例如,如果您想要使用 SolrCloud 功能,但您想要自行散佈更新),則請在您的鏈中指定
NoOpDistributingUpdateProcessorFactory
更新處理器工廠<updateRequestProcessorChain name="sample"> <processor class="solr.LogUpdateProcessorFactory" /> <processor class="solr.NoOpDistributingUpdateProcessorFactory"/> <processor class="my.package.MyDistributedUpdateFactory"/> <processor class="solr.RunUpdateProcessorFactory" /> </updateRequestProcessorChain>
在更新處理過程中,Solr 會跳過更新已在其他節點上執行的處理器。
如需關於預設更新請求處理器鏈和選項的更多資訊,請參閱 預設更新請求處理器鏈 章節。