索引位置與格式
Solr 儲存索引的位置和方式是可設定的選項。
使用 dataDir 參數指定索引資料的位置
依預設,Solr 將其索引資料儲存在核心實例目錄 (instanceDir
) 下名為 /data
的目錄中。如果您想要為儲存索引資料指定不同的目錄,您可以在核心的 core.properties
檔案中設定 dataDir
,或是在 solrconfig.xml
檔案中使用 <dataDir>
參數。您可以指定另一個目錄,使用絕對路徑或相對於 SolrCore 的 instanceDir 的路徑名稱。例如:
<dataDir>/solr/data/${solr.core.name}</dataDir>
${solr.core.name}
替換會導致目前的每個核心名稱被替換,這會使每個核心的資料都保留在單獨的子目錄中。
如果您使用使用者管理的索引複製來複製 Solr 索引,則 <dataDir>
目錄應對應於複製設定中使用的索引目錄。
如果定義了環境變數 SOLR_DATA_HOME ,或為您的 DirectoryFactory 設定了 solr.data.home ,或 solr.xml 包含元素 <solrDataHome> ,則資料目錄的位置將為 <SOLR_DATA_HOME>/<instance_name>/data 。 |
為您的索引指定 DirectoryFactory
預設的 solr.NRTCachingDirectoryFactory
是基於檔案系統的,並且嘗試為目前的 JVM 和平台選擇最佳實作。您可以透過指定 solr.MMapDirectoryFactory
或 solr.NIOFSDirectoryFactory
來強制使用特定的實作和/或設定選項。
<directoryFactory name="DirectoryFactory"
class="solr.MMapDirectoryFactory">
<bool name="preload">true</bool>
</directoryFactory>
solr.RAMDirectoryFactory
是基於記憶體的,不是持久性的,並且不適用於複製。使用此 DirectoryFactory 將您的索引儲存在 RAM 中。
<directoryFactory class="org.apache.solr.core.RAMDirectoryFactory"/>
如果您使用 Hadoop 並且想要將索引儲存在 HDFS 中,則應該使用 |