我正在尝试将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)
Bru*_*tos 22
问题是您引用的booleans是未在schema.xml文件中定义的字段类型.当你创建一个文件中的核心managed-schema中创建server\solr\my_collection\conf\.将此文件重命名为schema.xml并重新启动solr,ClassicIndexSchemaFactory它将正常工作.
Aeo*_*lun 10
我在这里遇到的问题与实际使用booleans字段类型无关.问题是新升级的solrconfig.xml文件默认启用了未知字段的处理器,需要booleans字段类型,可能还有其他一些.
这些都是在新示例中默认定义的schema.xml,但很可能不在您的旧示例中schema.xml.
对我来说,解决方案是将该<updateRequestProcessorChain name="add-unknown-fields-to-the-schema">部分评论出去solrconfig.xml.
或者,您可以更换solrconfig.xml.
| 归档时间: |
|
| 查看次数: |
14517 次 |
| 最近记录: |