1

私の 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 —&gt;
  </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>

元のスキーマにはフィールド タイプ double とフィールド ランキングがなく、すべて正常に動作しましたが、それらを追加した後もスローし続けました。

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)

追加した 2 行は他のフィールドと同じように定義されていますが、なぜ問題が発生したのでしょうか?

次のように、ランキングとダブルの 2 行を 1 行のみに変更した後:

<filedType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0" /> 

org.apache.solr.common.SolrException: Unknown fieldType 'solr.TrieDoubleField' がフィールドランキングで指定されました。ただし、TrieDoulbeField は TrieLongField と同じパッケージに含まれています。

オンラインで 1 日解決策を検索しましたが、問題を解決できる解決策が見つかりませんでした。私はsolrが初めてです。誰かが私の提案をしてもらえますか?

4

1 に答える 1

0

タイプミスが原因であることが判明しました。fieldType ではなく、filedType と入力しました。しかし、solr は構文エラーについて文句を言いませんでした。

于 2015-10-30T20:12:44.083 に答える