Solr 4.0.0将<uniquekey> id </uniquekey>定义为“long”类型,在启动时抛出错误

时间:2013-01-08 05:01:56

标签: java solr solrj

在我的实体clas中,我定义了id:

@Field("id")
protected Long id;

然后在solr4.0.0 schema.xml中,我定义:

<field name="id" type="long" indexed="true" stored="true" />
<uniqueKey>id</uniqueKey>

然后solr在启动时抛出异常。如果'id'被定义为'string'类型,则没有异常。所以我的问题是:如果我坚持将'id'定义为long类型,那么解决方案是什么。

2 个答案:

答案 0 :(得分:3)

检查SOLR-2997
似乎QueryElevationComponent需要String格式的Unique键。因此,如果您不需要它,您可以将其删除。

答案 1 :(得分:1)

只需删除solrconfig.xml文件中的以下节点:

<searchComponent name="elevator" class="solr.QueryElevationComponent" >  
<!-- pick a fieldType to analyze queries -->  
<str name="queryFieldType">string</str>  
<str name="config-file">elevate.xml</str>  
</searchComponent>