我正在尝试将Id字段用作Long并收到此错误:
ERROR: Error CREATEing SolrCore 'brands': Unable to create core
[brands] Caused by: uniqueKey field (id) can not be configured to use a
Points based FieldType: plong
这是我的schema.xml:
<?xml version="1.0" encoding="UTF-8"?>
<schema name="brands-config" version="1.6">
<uniqueKey>id</uniqueKey>
<fieldType name="plong" class="solr.LongPointField" docValues="true"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true"/>
<field name="name" type="string"/>
<field name="id" type="plong" multiValued="false" indexed="true" required="true" stored="true"/>
</schema>
我的solrconfig.xml是基本的 - 只删除了in this thread提到的部分,但没有帮助。
有没有办法让我的id字段类型变长?我这样做是为了避免过多的映射。
答案 0 :(得分:0)
我真的不确定为什么你需要长数据类型。要回答您的问题,Solr查询高程组件使用String作为键,因此您的唯一键不能很长。
如果你需要解决这个问题,那么你可以考虑创建一个复制字段,并将其作为一个长期使用,并使用if作为你的操作。
答案 1 :(得分:0)
如here所述,您不能将基于点的字段用作uniqueKey。
相反,您可以使用string
类型。