2011-04-11 32 views
1

可能重复:
Solr: QueryElevationComponent requires StrField uniqueKeyField error发行约Schema.xml的唯一键字段

当我运行的Solr我HAVA配置了不同的领域中的schema.xml像

<fields> 
    <field name="id" type="int" indexed="true" stored="true" required="true" /> 
</fields> 
<uniqueKey>id</uniqueKey> 

服务它给了我像uniquekey field must be string错误,然后我改变字段类型int字符串它' s工作很好

<fields> 
    <field name="id" type="string" indexed="true" stored="true" required="true" /> 
</fields> 
<uniqueKey>id</uniqueKey> 

但我想int类型uniquekey。

HTTP状态500 - Solr配置中的严重错误。请查看您的日志 文件以获取有关可能错误的更多详细信息。如果要在配置错误后继续使用 solr,请更改: false null -------------------------------- ----------------------------- org.apache.solr.common.SolrException:QueryElevationComponent要求 模式使用uniqueKeyField实现使用在 org.apache.solr.handler.component.QueryElevationComponent.inform(QueryElevationComponent.java:157) 在 org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:508) 在org.apache StrField。 solr.core.SolrCore。(SolrCore.java:588)at org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:137) at org.apache.solr.servlet.SolrDispatchFilter.init(索尔rDispatchFilter.java:83) 在 org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) 在 org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) 在 org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:115) 在 org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) 在 org.apache.catalina.core。 StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 在 org.apache.catalina.startup。 HostConfig.deployWAR(HostConfig.java:943) 在 org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: 504) 在org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 在 org.apache。 catalina.util.LifecycleSupport.fireLifecycleEvent(Lifec ycleSupport.java:142) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061) 在org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase。的java:1053) 在 org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 在 org.apache.catalina.core.StandardService.start(StandardService.java:525) 在 有机.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)处 java.lang.reflect.Method.invoke(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在 org.apache.catalina.startup .Bootstrap.start(Bootstrap.java:289)在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

+0

确切的错误是什么? – 2011-04-11 11:43:22

+0

您好Mauricio Scheffer现在检查我已经添加我的确切错误 – Dhaval950 2011-04-12 06:33:55

回答

5

正如错误所说,QueryElevationComponent需要一个字符串类型的唯一关键。 This is documented

3

注销QueryElevationComponent的searchComponent电梯部分。这应该禁用电梯功能。以下是示例

<!-- 
<searchComponent name="elevator" class="solr.QueryElevationComponent" > 
    <str name="queryFieldType">string</str> 
    <str name="config-file">elevate.xml</str> 
</searchComponent> 
--> 
+0

这是** schema.xml **中找到的代码片段吗? – mrd3650 2011-12-21 10:27:33