Solr配置:索引位置格式详解

Solr存储索引的位置和方式是可配置的选项。

使用dataDir参数指定索引数据的位置

默认情况下,Solr将其索引数据存储在核心实例目录(instanceDir)下名为/data的目录中。
如果你想为存储索引数据指定不同的目录,可以在核心的core.properties文件中配置dataDir,或在solrconfig.xml文件中使用<dataDir>参数。
你可以用绝对路径或相对于SolrCore的instanceDir的路径名来指定另一个目录。
例如:

1
<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.MMapDirectoryFactorysolr.NIOFSDirectoryFactory来强制使用特定实现和/或配置选项。

1
2
3
4
<directoryFactory name="DirectoryFactory"
class="solr.MMapDirectoryFactory">
<bool name="preload">true</bool>
</directoryFactory>

solr.RAMDirectoryFactory基于内存,不持久化,不能与复制一起工作。
使用此DirectoryFactory将索引存储在RAM中。

1
<directoryFactory class="org.apache.solr.core.RAMDirectoryFactory"/>

注意

如果你使用Hadoop并希望将索引存储在HDFS中,应该使用solr.HdfsDirectoryFactory而不是上述任何实现。
有关更多详细信息,请参见HDFS上的Solr部分。

© 2025 Solr Community of China All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero