我的solr schema.xml定义如下:
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="public" version="1.5">
<fields>
<field name="_version_" type="long" indexed="true" stored="true" />
<field name="ranking" type="double" indexed="true" stored="false" />
<!—other fields —>
</fields>
<uniqueKey>doc_id</uniqueKey>
<types>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0" />
<filedType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0" />
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0" />
</types>
</schema>
原始架构没有字段类型的双重和字段排名,一切正常,但在我添加它们之后它一直在抛出
Caused by: org.apache.solr.common.SolrException: Unknown fieldType 'double' specified on field kb_ranking
at org.apache.solr.schema.IndexSchema.loadFields(IndexSchema.java:648)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:471)
我添加的两行与其他字段的定义方式相同,但为什么我的问题导致了这个问题呢?
我改变了两行排名并将其翻倍为一行,如下所示:
<filedType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0" />
它仍会抛出:org.apache.solr.common.SolrException:未知的fieldType&#39; solr.TrieDoubleField&#39;在字段排名上指定。但TrieDoulbeField与TrieLongField属于同一个软件包。
我已经在线搜索了一天的解决方案,但没有找到任何可以解决我的问题的解决方案。我是solr的新手。有人可以给我我的建议吗?
答案 0 :(得分:0)
原来是由一个错字造成的。我输入了filedType而不是fieldType。但solr没有抱怨语法错误。