我正在尝试为我们的web应用程序设置多核solr服务器,但是我在通过coreadmin服务创建新核心时遇到了麻烦.
我正在使用Solr-4.4,因为4.3遇到了在solr.xml中持久存在核心的问题(datadir未被保留)所以我正在使用新的Solr.xml配置4.4及更高版本
我的solr.xml目前看起来像:
<solr>
<str name="coreRootDirectory">default-instance/cores/</str>
</solr>
Run Code Online (Sandbox Code Playgroud)
solrconfig.xml位于(solrhome)/default-instance/conf/solrconfig.xml
尝试使用url创建核心时
http:/example.org/solr/admin/cores?action=CREATE&name=test-name&schema=schema-test.xml&loadOnStartup=false
Run Code Online (Sandbox Code Playgroud)
给我错误:
错误创建SolrCore'test-name':无法创建core:test-name引发者:无法在类路径中找到资源'solrconfig.xml'或'default-instance/cores/test-name/conf /',cwd =在/ var/lib中/ tomcat7
以下似乎有效:
http:/example.org/solr/admin/cores?action=CREATE&name=test-name&schema=schema-test.xml&loadOnStartup=false&config=/absolute/file/path/to/solrconfig.xml
Run Code Online (Sandbox Code Playgroud)
问题是这似乎只能用于绝对路径(或者可能是来自/ var/lib/tomcat7的相对路径),这不是一个可行的解决方案.
我正在寻找的是一种放置solrconfig.xml的方法,以便它可以用于创建具有该配置的新内核(或者使用当前位置创建这些内核的方式).
模式或多或少都需要相同的模式
我遇到了同样的问题:solrconfig.xml不在类路径中。我通过将配置文件模板复制到类路径中解决了这个问题。
因此,我查看了http://localhost:8983/solr/#/~java-propertiessolrs 类路径定义,然后将模板 solrconfig.xml 和 schema.xml 复制到该文件夹中C:\servers\solr-4.4.0\example\resources。此外,我复制了那里所有的停用词......
这个解决方案并不完全令人满意,但它确实有效。添加另一个路径到类路径应该也可以。我有点惊讶的是,新内核的默认配置不能在其中声明solr.xml