可能重复:
Solr: QueryElevationComponent requires StrField uniqueKeyField error
我hava使用不同的字段配置了schema.xml,如
<fields>
<field name="id" type="int" indexed="true" stored="true" required="true" />
</fields>
<uniqueKey>id</uniqueKey>
当我运行solr服务时,它给我一个错误,如uniquekey field must be string
然后我将字段类型int更改为字符串后它工作正常
<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需要 使用StrField实现uniqueKeyField的模式 org.apache.solr.handler.component.QueryElevationComponent.inform(QueryElevationComponent.java:157) 在 org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:508) 在org.apache.solr.core.SolrCore。(SolrCore.java:588)at at org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:137) 在 org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.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) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 在 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(LifecycleSupport.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) 在 org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 在org.apache.catalina.startup.Catalina.start(Catalina.java:595)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at java.lang.reflect.Method.invoke(未知来源)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)at at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
答案 0 :(得分:5)
正如错误所述,QueryElevationComponent需要一个类型为string的唯一键。 This is documented
答案 1 :(得分:3)
注释掉QueryElevationComponent的searchComponent电梯部分。这应该禁用电梯功能。以下是示例
<!--
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
-->