codecamp

SolrConfig中的DataDir和DirectoryFactory

Solr在哪里和如何存储其索引是可配置的选项。

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

默认情况下,Solr将其索引数据存储在一个名为/data的目录下中,该目录位于核心的实例目录下(instanceDir)。如果您想要指定不同的目录来存储索引数据,则可以在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.StandardDirectoryFactory是基于文件系统的,并且试图为当前的JVM和平台选择最好的实现。您可以通过指定solr.MMapDirectoryFactory、solr.NIOFSDirectoryFactory或solr.SimpleFSDirectoryFactory来强制执行特定的实现或配置选项。

<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中,那么应该使用solr.HdfsDirectoryFactory,而不是上述任何一种实现。有关更多细节,请参见在HDFS上运行Solr的部分。

具有良好配置的Solr实例
Solr配置:SolrConfig中的Lib指令
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

SolrCloud

SolrCloud配置和参数

如何使用AsciiDoc

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }