[schema.xml] fieldType "pint" 的 SolrException 插件初始化失败:加载错误 class 'solr.IntField'

SolrException Plugin init failure for [schema.xml] fieldType "pint": Error loading class 'solr.IntField'

我遇到了这个错误

collection1: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Could not load conf for core collection1: Plugin init failure for [schema.xml] fieldType "pint": Error loading class 'solr.IntField'.

当我尝试将集合 1 (solr 4.5) 架构导入 solr 5.1 时。

我只从不同的机器复制集合 1 where solr 4.5 运行 并粘贴到这里 /solr/server/solr/collection1 where solr 5.1 运行 然后重新启动 solr。对不起,我是初学者,对 solr 了解不多,请遵循一些教程。

日志

org.apache.solr.common.SolrException: Could not load conf for core collection1: Plugin init failure for [schema.xml] fieldType "pint": Error loading class 'solr.IntField'. Schema file is /home/jackson/Downloads/solr/server/solr/collection1/conf/schema.xml
    at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:78)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:516)
    at org.apache.solr.core.CoreContainer.call(CoreContainer.java:283)
    at org.apache.solr.core.CoreContainer.call(CoreContainer.java:277)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "pint": Error loading class 'solr.IntField'. Schema file is /home/jackson/Downloads/solr/server/solr/collection1/conf/schema.xml
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:596)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:175)
    at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
    at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
    at org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:102)
    at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:74)
    ... 7 more
Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "pint": Error loading class 'solr.IntField'
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:177)
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:489)
    ... 12 more
Caused by: org.apache.solr.common.SolrException: Error loading class 'solr.IntField'
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:492)
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:561)
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:526)
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:519)
    at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:80)
    at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:42)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
    ... 13 more
Caused by: java.lang.ClassNotFoundException: solr.IntField
    at java.net.URLClassLoader.run(URLClassLoader.java:366)
    at java.net.URLClassLoader.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:476)

谢谢

我认为在您早期版本的 schema.xml 中,您的字段类型为 pint 现在在当前版本中它不受支持,因为我没有在 schema.xml 中看到 fieldType(在我下载 Solr.5.1.0 时的默认版本中)。

Replace/Remove 它和错误将得到纠正。

这个fieldType在之前的版本中就有(我用的是3.4)

<fieldType name="pint" class="solr.IntField" omitNorms="true"/>

在当前的5.1.0中我没有看到这个字段类型。

或者

您应该将 solr.IntField 替换为 solr.TrieIntField

您应该将 solr.IntField 替换为 solr.TrieIntField

solr.IntField 的文档说:

Deprecated. this class will be removed in 5.0 - use TrieIntField instead