我正在尝试将schema.xml与最新版本的Solr(5.1.0)一起使用.似乎默认情况下Solr 5.1.0使用托管模式,但我想将schema.xml用于特定集合.
所以我创建了一个新的集合(在windows上使用solr create -c my_collection并从中复制schema.xml)
server\solr\configsets\basic_configs\conf\schema.xml
Run Code Online (Sandbox Code Playgroud)
至
server\solr\my_collection\conf\schema.xml
Run Code Online (Sandbox Code Playgroud)
之后我改变了设置
server\solr\my_collection\conf\solrconfig.xml
Run Code Online (Sandbox Code Playgroud)
使用
<schemaFactory class="ClassicIndexSchemaFactory"/>
Run Code Online (Sandbox Code Playgroud)
执行此操作后,我在启动服务器时遇到异常:
org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: fieldType 'booleans' not found in the schema
Run Code Online (Sandbox Code Playgroud)
我在这里做了什么非常错的事吗?这种逻辑不应该起作用吗?
更新:Stractrace看起来像这样:
org.apache.solr.common.SolrException: fieldType 'booleans' not found in the schema
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:885)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:652)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:518)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:283)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:277)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: fieldType 'booleans' not found in the schema
at org.apache.solr.update.processor.AddSchemaFieldsUpdateProcessorFactory$TypeMapping.populateValueClasses(AddSchemaFieldsUpdateProcessorFactory.java:244)
at org.apache.solr.update.processor.AddSchemaFieldsUpdateProcessorFactory.inform(AddSchemaFieldsUpdateProcessorFactory.java:170)
at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:620)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:868)
Run Code Online (Sandbox Code Playgroud)