索引位置和格式
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 中,则应使用 |